如何知道/更改Python shell中的当前目录?

我在Windows 7上使用Python 3.2。当我打开Python shell时,如何知道当前目录是什么以及如何将其更改为另一个我的模块所在的目录?

你可以使用os模块。

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

但是如果是寻找其他模块:你可以设置一个名为PYTHONPATH的环境variables,在Linux下就好像

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

然后,解释器也在这个地方searchimport ed模块。 我猜这个名字在Windows下是一样的,但是不知道如何改变。

编辑

在Windows下:

 set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib 

(取自http://docs.python.org/using/windows.html

编辑2

…甚至更好:使用virtualenvvirtualenv_wrapper ,这将允许你创build一个开发环境,你可以随意添加模块path( 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命令提示符可以执行的任何命令,而不仅仅是改变目录。

如果你import os你可以使用os.getcwd来获取当前的工作目录,你可以使用os.chdir来改变你的目录

改变当前目录不是处理在Python中查找模块的方法。

相反,请参阅“模块searchpath”的文档以了解Python如何find要导入的模块。

这是标准模块部分的相关位:

variablessys.path是确定解释器的模块searchpath的string列表。 它被初始化为从环境variablesPYTHONPATH获取的默认path,或者如果未设置PYTHONPATH,则从内置默认path初始化。 您可以使用标准列表操作对其进行修改:

>>> 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")