29.4. __main__ — Top-level script environment

'__main__'是顶层代码执行的作用域的名称。当从标准输入,脚本或交互式提示读取时,模块的__name__设置为等于'__main__'

模块可以通过检查它自己的__name__来发现它是否在主作用域中运行,这允许在作为脚本运行时或在 python -m但不导入时:

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

对于包,通过包括__main__.py模块可以实现相同的效果,当模块以-m运行时,将执行该模块的内容。