我想获取当前文件的目录路径。我试过了:
>>> os.path.abspath(__file__)
'C:\\python27\\test.py'但是,如何检索目录的路径?
例如:
'C:\\python27\\'
对于正在运行的脚本的目录:
import pathlib
pathlib.Path(__file__).parent.absolute()对于当前工作目录:
import pathlib
pathlib.Path().absolute()对于正在运行的脚本的目录:
import os
os.path.dirname(os.path.abspath(__file__))如果您的意思是当前工作目录:
import os
os.path.abspath(os.getcwd())请注意, file前后分别是两个下划线,而不仅仅是一个。
还要注意,如果您正在交互运行或已从文件以外的其他文件(例如数据库或在线资源)中加载了代码,则可能不会设置__file__因为没有 “当前文件” 的概念。上面的答案假设运行文件中的 python 脚本的最常见情况。
从 Python 3 开始,建议使用Path :
from pathlib import Path
print("File Path:", Path(__file__).absolute())
print("Directory Path:", Path().absolute())文档: pathlib
注意:如果使用 Jupyter Notebook,则__file__不会返回期望值,因此必须使用Path().absolute() 。
在 Python 3.x 中,我这样做:
from pathlib import Path
path = Path(__file__).parent.absolute()说明:
Path(__file__)是当前文件的路径。 .parent为您提供文件所在的目录 。 .absolute()提供了完整的绝对路径。 使用pathlib是使用路径的现代方法。如果由于某种原因以后需要它作为字符串,只需执行str(path) 。