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 ")
目前我有一个程序如下:
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 ")