29.4. __main__
— 顶层脚本环境¶
'__main__'
是顶层代码执行的作用域的名称。模块的 __name__ 在通过标准输入、脚本文件或是交互式命令读入的时候会等于 '__main__'
。
模块可以通过检查自己的 __name__
来得知是否运行在 main 作用域中,这使得模块可以在作为脚本或是通过 python -m
运行时条件性地执行一些代码,而在被 import 时不会执行。
if __name__ == "__main__":
# execute only if run as a script
main()
对软件包来说,通过加入 __main__.py
模块可以达到同样的效果,当使用 -m
运行模块时,其中的代码会被执行。