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

发布于 2021-01-29 19:33:39

我想获取执行.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__)

返回空?

关注者
0
被浏览
74
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    因为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__))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看