【问题标题】:Python equivalent of PHP's __DIR__ magic constant?Python 相当于 PHP 的 __DIR__ 魔法常数?
【发布时间】:2011-09-18 23:14:05
【问题描述】:

在 PHP 中,__DIR__ magic constant 计算为包含该常量出现的文件的目录的路径。

Python 中是否有等效的功能?

【问题讨论】:

    标签: php python magic-constants


    【解决方案1】:
    os.path.dirname(__file__)
    

    在 Python 3.4 和更新版本中,就是这样 - 你得到一个绝对路径。

    在早期版本的 Python 中,__file__ 指的是在模块导入时间相对于 cwd 的文件位置。如果您拨打chdir,信息将会丢失。如果这成为问题,您可以将以下内容添加到模块的根目录:

    import os.path
    _dir = os.path.dirname(os.path.abspath(__file__))
    

    但同样,如果您只针对 Python 3.4+,则不再需要。

    【讨论】:

    • __file__ 是绝对的,因为 stackoverflow.com/a/22866630/4200039 的 3.4,而且 chdir 似乎也不再是问题,正如 stackoverflow.com/a/23616783/4200039 所证明的那样
    • 有人可能想知道“他们为什么不只是创建一个__dir__ ?” ...这是因为命名问题-python已经使用了dir__dir__() 但是对于对象属性获取...(不要问我为什么)我个人认为他们可以编造了类似__directory__ #shrug
    猜你喜欢
    • 2015-10-17
    • 1970-01-01
    • 2020-03-25
    • 2013-05-13
    • 1970-01-01
    • 2011-10-10
    • 2010-10-28
    • 1970-01-01
    • 2012-12-03
    相关资源
    最近更新 更多