main —- 顶层脚本环境


'main' 是顶层代码执行的作用域的名称。模块的 name 在通过标准输入、脚本文件或是交互式命令读入的时候会等于 'main'

模块可以通过检查自己的 name 来得知是否运行在 main 作用域中,这使得模块可以在作为脚本或是通过 python -m 运行时条件性地执行一些代码,而在被 import 时不会执行。

  1. if __name__ == "__main__":
  2. # execute only if run as a script
  3. main()

对软件包来说,通过加入 main.py 模块可以达到同样的效果,当使用 -m 运行模块时,其中的代码会被执行。