0

如果我们可以直接访问和操作其他目录中的文件(例如,使用下面的 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
4

2 回答 2

4

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

于 2013-11-06T19:07:23.717 回答
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

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

于 2013-11-06T19:26:22.297 回答