繁体   English   中英

在python中退出循环

[英]Exit from loop in python

我想通过按Ctrl-C退出while循环。 看来这行不通。 有任何想法吗? 谢谢你提前

import pyautogui, time

time.sleep(5)
distance = 150
print('Press Ctrl-C to quit.')
try:
    while True:
        pyautogui.dragRel(distance, 0, duration=0.2)
        distance = distance - 5
        pyautogui.dragRel(0, distance, duration=0.2)
        pyautogui.dragRel(-distance, 0, duration=0.2)
        distance = distance - 5
        pyautogui.dragRel(0, -distance, duration=0.2)
except KeyboardInterrupt:
    print('\nDone.')

您根本不需要睡眠命令,以下命令应在ctrl-C上中断:

n = 0
import time
try:
    while True:
        n += 1
        print n
except KeyboardInterrupt:
    print('\nDone.')

假设您正在Linux(我正在测试的地方)和可能不同的其他操作系统上运行。
如果上述方法不起作用,则您的终端上一定有一些您正在用来运行代码的东西,它没有捕获中断。
尝试在python命令行上:

a = raw_input()

然后按Ctrl-C
你应该得到这样的东西:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyboardInterrupt

上面的raw_input()假设python 2.7适用于python3:

a = input()

期望得到相同的结果。

我已经在3个不同的终端(在Ubuntu上)测试了您的代码。 当我将光标移至终端时,单击鼠标左键并按Ctrl-C,程序将成功终止。

UPD:只需按Ctrl-C :-),该程序就开始终止后就足够奇怪了(不需要单击)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM