为什么我们需要更改当前目录?

时间:2013-11-06 19:02:16

标签: python language-agnostic

如果我们可以直接访问和操作其他目录中的文件(例如,使用下面的Python代码),我们何时需要更改当前的工作目录?更改当前目录有什么好处?

import os
print(os.getcwd())
f=open(os.path.join(os.getcwd(),"test_folder")+"\\testfile","w")
f.close()
print(os.getcwd())
os.makedirs("test_folder_2")
print(os.getcwd())

输出:

c:\Users\me
c:\Users\me
c:\Users\me

2 个答案:

答案 0 :(得分:4)

在示例中,您没有更改工作目录。你刚刚得到(打印)它。您无需更改工作目录。但就像您从资源管理器中导航文件一样,以保持文件的整理。有时它是为文件权限完成的。

答案 1 :(得分:0)

当前工作目录是相对路径的基目录。如果您不提供绝对路径,则可以在此处开始查找文件和文件夹。从2个不同的目录执行以下脚本并检查其差异。

# a.py
import os
print "\tcwd:", os.getcwd()
print "\tpth:", os.path.abspath("a")

现在从dos框中,您将获得以下输出:

C:\Users\user> python a.py
        cwd: C:\Users\user
        pth: C:\Users\user\a
C:\Users\user> cd ..
C:\Users> python user\a.py
        cwd: C:\Users
        pth: C:\Users\a

从不同的工作目录中,您可以使用相对路径定位不同的文件。使用相对路径通常是个好主意,因为否则脚本可能只适用于单个用户,或者程序的安装目录在所有计算机上必须相同,通常情况并非如此。您必须使用相对路径更改工作目录以正确定位文件和目录。