即什么是区别
def main(): # do some stuff print("Done doing stuff")if __name__ == '__main__': main()
和
import sysdef 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总结
以上是内存溢出为你收集整理的Python:显式退出和简单地让执行到达文件末尾有什么区别?全部内容,希望文章能够帮你解决Python:显式退出和简单地让执行到达文件末尾有什么区别?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)