pygame.quit()是pygame.init()函数的一种相反的函数,它运行的代码会使得Pygame库停止工作。在调用sys.exit()终止程序之前,总是应该先调用pygame.quit()。通常,由于程序退出之前,Python总是会关闭pygame,这不会真的有什么问题。但是,在IDLE中有一个bug,如果一个Pygame程序在调用pygame.quit()之前就终止了,将会导致IDLE挂起。
sys模块的exit函数,通过抛出一个SystemExit异常来尝试结束程序,Python代码可以捕获这个异常来进行一些程序退出前的清理工作,也可以不退出程序。sys.exit函数同样可以带一个参数来作为程序的退出码,默认是0。
我们在使用完pygame后一般先关闭pygame,然后关闭程序。关闭程序还有os._exit函数,但这个函数比较粗暴,直接退出了python解释器,后面代码都不执行了,在python线程中,使用sys.exit(包括exit和quit),都只能实现退出子线程,而不能退出主线程;如果在子线程中调用os._exit,可以实现整个程序的退出。所以这种暴力退出不常用,一般也不建议使用
pygame.quit() 和sys.exit()简介,以及为何一前一后
最新推荐文章于 2024-07-20 17:12:48 发布