Python:显式退出和简单地让执行到达文件末尾有什么区别?
发布时间:2020-12-20 13:19:12 所属栏目:Python 来源:网络整理
导读:对于一个不启动任何线程或分叉任何进程的简单 python脚本,简单地让执行到达脚本结尾并显式调用quit(),exit()或sys.exit()之间的区别是什么? 即什么是区别 def main(): # do some stuff print("Done doing stuff")if __name__ == '__main__': main() 和 impo
对于一个不启动任何线程或分叉任何进程的简单
python脚本,简单地让执行到达脚本结尾并显式调用quit(),exit()或sys.exit()之间的区别是什么?
即什么是区别 def main(): # do some stuff print("Done doing stuff") if __name__ == '__main__': main() 和 import sys def main(): # do some stuff print("Done doing stuff") # explicit exit sys.exit() if __name__ == '__main__': main() 我问这个是因为我在脚本终止时遇到了一些奇怪的垃圾收集问题(从__del__引发的异常显然是由于事情得到清理的顺序)而没有显式的exit()调用,并且添加了一个显式的exit()似乎纠正了这些问题.或者至少在调用exit()之后没有打印出这些异常,也许它们只是被静音了. 解决方法
在你发布的情况下,没有区别.但是,您可能希望终止程序而不等待它完成.
一个平庸的例子: try: ... except KeyboardInterrupt: x = input('Sure you want to exit? y/n') if x == 'y': quit() else: pass (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |