当我在 IDLE 中运行以下脚本时
import os
print(os.getcwd())
我得到输出
D:\testtool
但是当我从 cmd 提示符运行时,我得到
c:\Python33>python D:\testtool\current_dir.py
c:\Python33
如何获得与使用 IDLE 相同的结果?
当我在 IDLE 中运行以下脚本时
import os
print(os.getcwd())
我得到输出
D:\testtool
但是当我从 cmd 提示符运行时,我得到
c:\Python33>python D:\testtool\current_dir.py
c:\Python33
如何获得与使用 IDLE 相同的结果?
似乎 IDLE 将其当前工作目录更改为执行脚本的位置,而在使用 cmd 运行脚本时并没有这样做,它使 CWD 保持原样。
要将当前工作目录更改为包含您的脚本的目录,您可以使用:
import os
os.chdir(os.path.dirname(__file__))
print(os.getcwd())
__file__
仅当您从文件执行脚本时,该变量才可用,并且它包含文件的路径。更多信息在这里:Python __file__ 属性是绝对的还是相对的?
Python 的默认pathlib
库提供 cwd,如下所示:
import pathlib
pathlib.Path.cwd()