Как узнать / изменить текущий каталог в оболочке Python?

Я использую Python 3.2 В Windows 7. Когда я открываю оболочку Python, как я могу узнать, что такое текущий каталог и как я могу изменить его на другой каталог, где находятся мои модули?

6 ответов


можно использовать os модуль.

>>> import os
>>> os.getcwd()
'/home/user'
>>> os.chdir("/tmp/")
>>> os.getcwd()
'/tmp'

но если речь идет о поиске других модулей: вы можете установить переменную окружения под названием PYTHONPATH, под Linux было бы как

export PYTHONPATH=/path/to/my/library:$PYTHONPATH

затем переводчик ищет также в этом месте importмодули ed. Я предполагаю, что имя будет таким же под Windows, но не знаю, как изменить.

редактировать

Под Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

(взято из http://docs.python.org/using/windows.html)

Изменить 2

... а еще лучше: используйте virtualenv и virtualenv_wrapper, это позволит вам создать среду разработки, где вы можете добавить пути модуля, как вам нравится (add2virtualenv) без загрязнять вашу установку или" нормальную " рабочую среду.

http://virtualenvwrapper.readthedocs.org/en/latest/command_ref.html


вы хотите

import os
os.getcwd()
os.chdir('..')

>>> import os
>>> os.system('cd c:\mydir')

в самом деле os.system() может выполнить любую команду, которую может выполнить командная строка windows, а не только изменить dir.


Если вы import os можно использовать os.getcwd чтобы получить текущий рабочий каталог, и вы можете использовать os.chdir чтобы изменить каталог


изменение текущего каталога не является способом решения проблемы поиска модулей в Python.

скорее, см. документы для Путь Поиска Модуля для того, как Python находит, какой модуль импортировать.

вот соответствующий бит от Стандартные Модули:

переменная sys.path-это список строк, определяющих путь поиска интерпретатора для модулей. Инициализируется по умолчанию путь, взятый из переменная окружения PYTHONPATH или из встроенный по умолчанию, если PYTHONPATH не установлен. Вы можете изменить его с помощью стандартный список операций:

>>> import sys
>>> sys.path.append('/ufs/guido/lib/python')

в ответ на ваш первоначальный вопрос о получении и настройке текущего каталога:

>>> help(os.getcwd)

getcwd(...)
    getcwd() -> path

    Return a string representing the current working directory.

>>> help(os.chdir)

chdir(...)
    chdir(path)

    Change the current working directory to the specified path.

самый простой способ изменить текущий рабочий каталог в python-использовать пакет "os". Ниже приведен пример для компьютера windows:

#import the os package
import os
# Confirm the current working directory 
os.getcwd()
# use '\' while chaning the directory 
os.chdir("C:\user\foldername")