我想获取执行 .py 文件的当前目录的路径。
例如一个D:\test.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()。
getcwd()
path.dirname()
给定os.path.abspath = os.path.dirname + os.path.basename,为什么
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()仅将传递的文件名拆分为组件,而不考虑当前目录。如果您还想考虑当前目录,则必须明确这样做。
dirname()
basename()
要获取绝对路径的目录名,请使用
os.path.dirname(os.path.abspath(__file__))