首页 > 代码库 > Python模块——特殊变量

Python模块——特殊变量

是导入模块时,系统自动为此模块建的全局变量。

需要了解的:

  • __doc__   其内容为py文件开头部分的注释。print(__doc__)可看到
  • __cached__   py文件的字节码存放的位置。在【PycharmProjects】的项目目录下可看到_【_pycache__】文件夹,里面存放的是导入的py文件编译成的字节码。
  • __package__   py文件所在的包。例子如下图所示

技术分享

 

常用的:

  • __file__     当前执行文件所在的相对路径(相对于执行当前文件时所在的目录位置)

例1:

s1.py内容为print(__file__),其所在的文件存储路径为:C:/Users/sea/PycharmProjects/untitled1/s1.py

在cmd中切换到s1.py所在的目录C:/Users/sea/PycharmProjects/untitled1后执行python s1.py

输出为s1.py  而不是C:/Users/sea/PycharmProjects/untitled1/s1.py

应用:

import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__) )))

将当前文件的上层的上层的目录添加到搜索路径。这时无论怎么拷贝都能顺利导入模块,因为路径可随拷贝动态变化。

 

  • __name__   只有执行当前文件时,当前文件的特殊变量__name__ == "__main__"

应用:

def run():
    print(run)

#只有要执行的文件为当前文件时,run()才执行。本模块被导入到其他模块中去时,不执行run()
if __name__ == "__main__":  
    run()

 


 

Python模块——特殊变量