【发布时间】:2012-03-19 06:41:35
【问题描述】:
我有一段时间没有使用 Python 从 3.1 更新到 3.2。我之前退出 Pygame 程序的方法在下面的代码中。现在我收到一条 Traceback 消息:
Traceback (most recent call last):
File "C:\Python32\Nero\gogo.py", line 24, in <module>
terminate()
File "C:\Python32\Nero\gogo.py", line 18, in terminate
sys.exit()
SystemExit
现在我不记得 Traceback,但据我所知,这是错误最终出现的地方。这在过去没有产生错误。我尝试使用 exit() 而不是 sys.exit() 但它要求确认终止程序并关闭 shell(我都不希望发生)。我已经进行了一些谷歌搜索并找到了各种类似的查询,但我仍然不确定理解这个错误并解决它的最佳方法?该程序仍然正常运行。我只是隔离了相关部分,因为错误在更大的程序中保持不变。
我的代码:
import random,math,sys,os
import pygame
from pygame.locals import *
os.environ['SDL_VIDEO_CENTERED'] = '1'
pygame.init() #Initializing Pygame
screen=pygame.display.set_mode((500,500) ,0,0)
pygame.display.set_caption("Boo!")
pygame.mouse.set_visible(True)
clock=pygame.time.Clock()
fps=40
#Functions:
def terminate():
pygame.quit()
sys.exit()
while True:
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
谢谢!
【问题讨论】:
-
尝试用
terminate()替换你引用的最后一行中的sys.exit()。 -
你是从 shell 启动这个脚本,还是在 windows GUI 中双击它?
-
从 shell 启动。不幸的是,用 terminate() 替换的 Sys.exit 似乎没有改变任何东西。我正在从 shell 运行。
标签: python pygame python-3.2