小编典典

os.path.dirname(__ file__)返回空

python

我想获取执行.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()和获得相同的结果path.dirname()

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

os.path.dirname(__file__)

返回空?


阅读 306

收藏
2020-12-20

共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__))
2020-12-20