我想获取当前执行.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__)
返回空?
最佳答案
因为 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__))
https://stackoverflow.com/questions/7783308/