为什么要使用 def main(argv=[__name__]) 和 if __name__ == "__main__": sys.exit(main(sys.argv))?
为什么要使用 def main(argv=[__name__]) 和 if __name__ == "__main__": sys.exit(main(sys.argv))?
我正在使用/重写一段代码,首先将函数定义如下:
def main(argv=[__name__]): ... *rest of code* ...
以以下方式结束:
if __name__ == "__main__": sys.exit(main(sys.argv))
我认为它所做的是检查脚本是否正在从命令行执行,并在退出python时使用提供的参数运行函数main
。但是,为什么需要将变量argv
预设为[__name__]
在函数定义中呢?这不是我的代码,所以我不知道原始意图。然而,我对使用if __name__ == \"__main__\":
进行检查命令行执行的方法还不熟悉,因此可能存在一些我忽略的明显原因。如果能提供帮助或更多关于main
函数定义和参数/命令行对模块测试的详细信息,将不胜感激。
admin 更改状态以发布 2023年5月24日