Python:具有关键字键盘中断的稳健连续循环

Python: A robust continuous loop with keyword keyboard interrupt

目前我有一个程序如下:

    try:
    while True:
        print("Running")
except KeyboardInterrupt:
    pass

终端将打印“运行”直到用户输入 CRTL+C 的想法,我希望能够做的是让程序继续 运行 直到用户输入除此之外,输入一个关键词。这是为了让我的程序更健壮,这样意外输入就不会停止循环。 有办法吗?

这里有一个可能的实现方式:

while True:
    try:
        print("Running")
    except KeyboardInterrupt:
        if input("Type exit to exit: ") != "exit":
            continue
        break

或者如果你想要一个更灵活的转义字符串,你可以声明如下:

escape_string = "exit"

while True:
    try:
        print("Running")
    except KeyboardInterrupt:
        if input(f"Type {escape_string} to exit: ") != escape_string:
            continue
        break

你需要 try/except 块在 内部 循环,这样中断就不会退出循环。异常处理程序激活循环退出条件。

ans = ""
while ans != "please":
    try:
         print("Running")
         sleep(1)
    except KeyboardInterrupt:
        ans = input("Please enter secret ")