__name__ 和 __file__

2021年3月1日 / 14次阅读 / Last Modified 2021年3月1日

Python有namespace的概念,不同于C++(C没有),在Python中不需要显示的定义namespace。每一个module,或package,都是一个namespace。

模块的__name__属性,指明了当前namespace的name。启动python解释器的时候,首先会进入__name__ == '__main__'的namespace中。这个__main__,就是值解释器的顶层namespace,代码从这里开始执行。__name__总是与模块的名称一致。

__file__属性,指明当前namespace对应的.py文件,即代码。这里有个小小的差异,__main__空间中的__file__不一定存在,如果你仅仅是启动了解释器,没有执行任何代码文件。而且,__main__空间的__file__值,似乎与sys.argv中对应的值是一致的,即不是一个绝对路径的文件。其它空间的__file__,我观察到的情况,都是文件的绝对路径。

-- EOF --

本文链接:https://www.pynote.net/archives/3560

相关文章

    留言区

    邮箱地址不会被公开。 必填项已用*标注


    前一篇:
    后一篇:

    More


    ©Copyright 麦新杰 Since 2019 Python笔记

    go to top