如何使用python 3获取当前工作目录?

时间:2013-06-28 07:42:55

标签: python-3.x file-location working-directory

当我在IDLE

中运行以下脚本时
import os
print(os.getcwd())

我输出为

D:\testtool

但是当我从cmd提示符运行时,我得到了

c:\Python33>python D:\testtool\current_dir.py
c:\Python33

如何获得使用IDLE获得的相同结果?

3 个答案:

答案 0 :(得分:69)

似乎IDLE将其当前工作目录更改为执行脚本的位置,而使用cmd运行脚本时不会这样做,它会保留CWD。

要将当前工作目录更改为包含脚本的目录,您可以使用:

import os
os.chdir(os.path.dirname(__file__))
print(os.getcwd())

只有从文件执行脚本时,__file__变量才可用,并且它包含文件的路径。更多相关信息:Python __file__ attribute absolute or relative?

答案 1 :(得分:4)

使用pathlib可以获取当前文件所在的文件夹。 __file__是加载模块的文件的路径名。 参考:docs

import pathlib

current_dir = pathlib.Path(__file__).parent
current_file = pathlib.Path(__file__)

文件编号:link

答案 2 :(得分:2)

Python 的默认 pathlib 库提供如下 cwd:

import pathlib

pathlib.Path.cwd()