小编典典

os.path.dirname(__file__) 返回空

all

我想获取执行 .py 文件的当前目录的路径。

例如一个D:\test.py带有代码的简单文件:

import os

print os.getcwd()
print os.path.basename(__file__)
print os.path.abspath(__file__)
print os.path.dirname(__file__)

奇怪的是输出是:

D:\
test.py
D:\test.py
EMPTY

我期待从getcwd()and得到相同的结果path.dirname()

给定os.path.abspath = os.path.dirname + os.path.basename,为什么

os.path.dirname(__file__)

返回空?


阅读 179

收藏
2022-07-28

共1个答案

小编典典

因为os.path.abspath = os.path.dirname + os.path.basename不持有。我们宁愿有

os.path.dirname(filename) + os.path.basename(filename) == filename

两者dirname()并且basename()仅将传递的文件名拆分为组件,而不考虑当前目录。如果您还想考虑当前目录,则必须明确这样做。

要获取绝对路径的目录名,请使用

os.path.dirname(os.path.abspath(__file__))
2022-07-28