Python中CWD和Import Search Path的区别



我对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')

相关内容

  • 没有找到相关文章

最新更新