【发布时间】:2013-06-15 07:14:04
【问题描述】:
我正在使用 Python 3.2 并在用户输入他们不想继续后尝试退出它,是否有代码会在 while 循环内的 if 语句中退出它?我已经尝试过使用exit()、sys.exit()、sys.quit()、quit() 和 raise SystemExit。
【问题讨论】:
-
所有这些都应该工作?
-
你能告诉我们你正在使用的代码吗?您是要退出程序,还是只退出
if语句?您是否出于某种原因捕获 SystemExit? -
唯一可能失败的情况是 (a) 没有实际调用
exit,(b) 捕获SystemExit或BaseException,(c) 多线程或多处理,(d)真正时髦的信号处理,或 (e) 嵌入式/自定义 Python 解释器。我强烈怀疑它是(a)。但是,如果您不向我们提供您的代码(或者更好的是,SSCCE 至少显示相同的问题),我们只能怀疑和猜测。 -
@ethan:在 SO 上的 cmets 中格式化代码是不可能的。这使得它很难阅读(并且也使得无法诊断缩进错误)。只需编辑您的问题并将格式正确的代码粘贴到那里即可。另外,请描述您看到的实际输入/输出序列。 (例如,如果您输入“N”,请参阅“ok, sayonnara”,但随后不退出,请准确告诉我们。)
-
@ChristianCareaga:我理解你的沮丧,但实际上,除了 OP 本人之外,这里对任何人都没有伤害。如果他从不将问题编辑为可以回答,它就会被关闭(无论是现在,还是几个月后,当有人搜索相同的问题并发现一个死而无用的问题时)。
标签: python python-3.x