python-3.x之Python 3 键盘中断错误

你猜 阅读:15 2024-08-05 10:48:10 评论:0

我注意到,在任何 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") 
虽然我不会推荐第二个,因为使用快捷方式的人很快就会对你的程序感到恼火。


标签:Python
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号