我对Python中CWD和import path的区别有点困惑。
据我所知:
C:temp> python C:...PyToolsex.py
脚本文件在C:…PP4ETools,但脚本处理位于C:temp ?还是我搞错了什么?
基本上,我有一个脚本从某个目录运行,我需要它来处理另一个目录中的文件。
C:temp> python C:...PyToolsfind.py *.py C:...Directory
再次从我的理解,脚本可以访问PyTools目录中的文件,并处理目录中的文件。但CWD仍然是temp?
所以temp被添加到python路径?CWD是否被添加到python路径中?我有点糊涂了,如果有人能给我解释一下,我将不胜感激。谢谢。
Python的搜索路径——它查找在import
语句中命名的模块——包括PYTHONPATH
环境变量的内容、sys.path
的值以及运行脚本所在的目录。默认情况下,您当前的工作目录(cwd
)从来不是Python搜索路径的一部分。
你的cwd
当你启动你的Python脚本是你的脚本的cwd
;这意味着文件操作(如open()
)将引用当前目录中没有任何路径限定符的文件。例如,如果您在c:temp
中,并且您运行Python脚本,并且您的脚本执行以下操作…
fd = open('myfile.txt')
…那么您将打开c:tempmyfile.txt
。
如果您想在另一个目录中打开文件,您可以提供open
的完整路径:
fd = open('c:\anotherdir\myfile.txt')
或者您可以在代码中调用os.chdir()
:
os.chdir('c:\anotherdir')
fd = open('myfile.txt')