问题:如何在Python Shell中知道/更改当前目录?
我在Windows 7上使用Python 3.2。打开Python Shell时,如何知道当前目录是什么,以及如何将其更改为模块所在的另一个目录?
回答 0
您可以使用该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
回答 1
你要
import os
os.getcwd()
os.chdir('..')
回答 2
>>> import os
>>> os.system('cd c:\mydir')
实际上,os.system()
可以执行Windows命令提示符可以执行的任何命令,而不仅仅是更改dir。
回答 3
更改当前目录不是处理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.
回答 4
在python中更改当前工作目录的最简单方法是使用“ os”包。下面是Windows计算机的示例:
# Import the os package
import os
# Confirm the current working directory
os.getcwd()
# Use '\\' while changing the directory
os.chdir("C:\\user\\foldername")
回答 5
如果您import os
可以os.getcwd
用来获取当前的工作目录,并且可以os.chdir
用来更改目录
回答 6
您可以尝试以下方法:
import os
current_dir = os.path.dirname(os.path.abspath(__file__)) # Can also use os.getcwd()
print(current_dir) # prints(say)- D:\abc\def\ghi\jkl\mno"
new_dir = os.chdir('..\\..\\..\\')
print(new_dir) # prints "D:\abc\def\ghi"