如何获取当前文件的目录路径? 我试着:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
但我想:
'C:\\python27\\'
如何获取当前文件的目录路径? 我试着:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'
但我想:
'C:\\python27\\'
当前回答
import os
print(os.path.dirname(__file__))
其他回答
Python 2和3
你还可以简单地做:
from os import sep
print(__file__.rsplit(sep, 1)[0] + sep)
输出如下:
C:\my_folder\sub_folder\
特殊变量__file__包含当前文件的路径。由此,我们可以使用pathlib或os获取目录。路径模块。
Python 3
对于正在运行的脚本的目录:
import pathlib
pathlib.Path(__file__).parent.resolve()
对于当前工作目录:
import pathlib
pathlib.Path().resolve()
Python 2和3
对于正在运行的脚本的目录:
import os
os.path.dirname(os.path.abspath(__file__))
如果你指的是当前工作目录:
import os
os.path.abspath(os.getcwd())
注意,文件的前后是两个下划线,而不是一个。
还要注意,如果你是交互式运行的,或者从文件以外的东西(例如:数据库或在线资源)加载代码,__file__可能不会被设置,因为没有“当前文件”的概念。上面的答案假设运行文件中的python脚本是最常见的场景。
参考文献
python文档中的Pathlib。 操作系统。Python 2.7, os. pathpath - Python 3 操作系统。getcwd - Python 2.7, os。3 . getcwd - Python __file__变量是什么意思?
import os
print(os.path.dirname(__file__))
我做了一个函数,当在CGI中运行IIS下的python时,为了获得当前文件夹:
import os
def getLocalFolder():
path=str(os.path.dirname(os.path.abspath(__file__))).split(os.sep)
return path[len(path)-1]
试试这个:
import os
dir_path = os.path.dirname(os.path.realpath(__file__))