我在最近阅读的几个 pytn 脚本中看到了这一点。我看过文档;他们只给出示例处理传递某种终止值或字符串。
我认为这是调用 main 方法,然后退出?
如果有人能对此有所了解,我将不胜感激。
if __name__ == "__main__":
exit (main())
请和谢谢你
这将调用函数main()
,当 main 完成时,它将退出,给系统返回代码是main()
的结果。
一个简化的例子,这可能会被使用:
def main():
try:
doSomething()
return 0
except:
return 1
if __name__ == "__main__":
exit (main())
如果main()
中未给出显式返回值,则将返回默认值None
。这将生成与显式指定return 0
相同的系统返回代码。如果main
返回整数或None
以外的任何值,则将生成系统返回代码 1。
如果您直接执行 Pytn 脚本,则__name__
设置为"__main__"
,但是如果您import
它来自另一个脚本,则不是。
因此,在这种情况下,脚本会查看您是否直接执行它。如果是,它将调用main()
函数来执行一些工作,并通过exit()
将main()
函数的返回值返回给系统。如果脚本是从另一个模块导入的,则它不会执行main()
脚本,而只是将脚本的函数和4 提供给类
这是 Pytn 中的一个常见习语。它允许您拥有程序的脚本,但也可以是import
ed,而无需尝试执行import
ing 脚本不想完成的工作。
因为如果 main()包含对 sys.exit()的调用,它将退出解释器。
这样做的原因是使用 main()的返回值作为脚本返回代码。
这意味着运行main()
函数并使用main()
函数返回的返回代码退出。这是一个常见的习语,因此,当从 s 运行脚本时,您可以可靠地判断它是否成功。
if __name__ == '__main__':
成语是一种仅在模块作为脚本运行(而不是导入)时运行代码的常见方式。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(39条)