Python 3 键盘中断错误
Python 3 KeyboardInterrupt error
我注意到在任何 python 3 程序上,无论它多么基本,如果您按 CTRL c,它都会使程序崩溃,例如:
test=input("Say hello")
if test=="hello":
print("Hello!")
else:
print("I don't know what to reply I am a basic program without meaning :(")
如果您按 CTRL c,错误将是 KeyboardInterrupt 是否有办法阻止它使程序崩溃?
我想这样做的原因是因为我喜欢让我的程序防错,每当我想将一些东西粘贴到输入中时我不小心按下了 CTRL c 我必须再次通过我的程序..哪个只是很烦人。
Control-C
将引发 KeyboardInterrupt
,无论您多么不希望它引发。但是,您可以很容易地处理该错误,例如,如果您想要要求用户在获取输入时按两次 control-c 以退出,您可以执行以下操作:
def user_input(prompt):
try:
return input(prompt)
except KeyboardInterrupt:
print("press control-c again to quit")
return input(prompt) #let it raise if it happens again
或者无论用户使用多少次都强制用户输入内容 Control-C
你可以这样做:
def user_input(prompt):
while True: # broken by return
try:
return input(prompt)
except KeyboardInterrupt:
print("you are not allowed to quit right now")
尽管我不推荐第二种,因为使用快捷方式的人很快就会对您的程序感到厌烦。
另外,在你的程序中,如果有人输入“你好”,它不会回复你好,因为第一个字母是大写的,所以你可以使用:
if test.isupper == True:
print("Hello!")
我注意到在任何 python 3 程序上,无论它多么基本,如果您按 CTRL c,它都会使程序崩溃,例如:
test=input("Say hello")
if test=="hello":
print("Hello!")
else:
print("I don't know what to reply I am a basic program without meaning :(")
如果您按 CTRL c,错误将是 KeyboardInterrupt 是否有办法阻止它使程序崩溃?
我想这样做的原因是因为我喜欢让我的程序防错,每当我想将一些东西粘贴到输入中时我不小心按下了 CTRL c 我必须再次通过我的程序..哪个只是很烦人。
Control-C
将引发 KeyboardInterrupt
,无论您多么不希望它引发。但是,您可以很容易地处理该错误,例如,如果您想要要求用户在获取输入时按两次 control-c 以退出,您可以执行以下操作:
def user_input(prompt):
try:
return input(prompt)
except KeyboardInterrupt:
print("press control-c again to quit")
return input(prompt) #let it raise if it happens again
或者无论用户使用多少次都强制用户输入内容 Control-C
你可以这样做:
def user_input(prompt):
while True: # broken by return
try:
return input(prompt)
except KeyboardInterrupt:
print("you are not allowed to quit right now")
尽管我不推荐第二种,因为使用快捷方式的人很快就会对您的程序感到厌烦。
另外,在你的程序中,如果有人输入“你好”,它不会回复你好,因为第一个字母是大写的,所以你可以使用:
if test.isupper == True:
print("Hello!")