在PHP中,__DIR__ magic constant的计算结果为包含该常量所在文件的目录的路径。Python中是否有等效的特性?
__DIR__
bxjv4tth1#
os.path.dirname(__file__)
在Python 3.4及更新版本中,就是这样--你得到一个绝对路径。在Python的早期版本中,__file__指的是cwd在module import time的相对位置,如果你调用chdir,信息将会丢失,如果这成为一个问题,你可以在模块的根目录中添加以下代码:
__file__
module import time
chdir
import os.path _dir = os.path.dirname(os.path.abspath(__file__))
但是同样,如果您只针对Python 3.4+,那么就不再需要这样做了。
92vpleto2#
from pathlib import Path Path(__file__).cwd()
目前我使用的是python 3.10.2,它可以正常工作Pathlib与OSos模块将路径表示为字符串,你不能对它做太多的事情,pathlib模块将路径表示为特殊的对象,带有有用的方法和属性。https://builtin.com/software-engineering-perspectives/python-pathlib
2条答案
按热度按时间bxjv4tth1#
在Python 3.4及更新版本中,就是这样--你得到一个绝对路径。
在Python的早期版本中,
__file__
指的是cwd在module import time
的相对位置,如果你调用chdir
,信息将会丢失,如果这成为一个问题,你可以在模块的根目录中添加以下代码:但是同样,如果您只针对Python 3.4+,那么就不再需要这样做了。
92vpleto2#
目前我使用的是python 3.10.2,它可以正常工作
Pathlib与OS
os模块将路径表示为字符串,你不能对它做太多的事情,pathlib模块将路径表示为特殊的对象,带有有用的方法和属性。
https://builtin.com/software-engineering-perspectives/python-pathlib