我如何在python中有一个失败的安全命令

时间:2015-10-17 02:52:18

标签: python

所以我试图制作一个程序,将我的鼠标随机地放在python的特定区域,我还在测试它,所以它可能会有点疯狂。我想知道是否可以制作一个故障安全命令,如果输入了密钥或命令,它将终止程序。

由于程序在我的计算机上的另一个窗口上单击并移动它,它取消选择正在运行的窗口python,这使得"键盘中断"无法工作。

这是程序:

import pyautogui
import random
import time
time.sleep(6)#gives you time to click the right window

try:
    while True:    
        x = random.randint(239, 1536)  #randomizes the position of the mouse

        pyautogui.moveTo(x,663)        #moves the mouse to position

        pyautogui.doubleClick()        #fires the gun in game twise   

        time.sleep(1)                  #gives time for the game to 
        pyautogui.doubleClick()        #catch up with the mouse and fires gun

        pyautogui.doubleClick()        #fires gun twice again                                

except KeyboardInterrupt:
    print ('Yup')

如果我编码方式有任何问题,请告诉我。我还不熟悉编码,所以任何提示都会很棒。

3 个答案:

答案 0 :(得分:2)

您要做的是在您的例外中使用sys.exit()

试试这个:

import sys

try:
    # all your code
except KeyboardInterrupt:
    sys.exit()

答案 1 :(得分:1)

PyAutoGUI还具有故障安全功能。将鼠标光标移动到左上角 屏幕将导致PyAutoGUI引发pyautogui.FailSafeException 例外。

您的程序可以使用try和except语句处理此异常 或者让异常崩溃你的程序。无论哪种方式,故障安全功能都将停止 程序,如果你尽可能快地向上和向左移动鼠标。

>>>import pyautogui
>>>pyautogui.FAILSAFE= True

默认情况下,FAILSAFE会为True,您也可以使用它......

>>>pyautogui.FAILSAFE = False

答案 2 :(得分:0)

这应该有效,每当您单击该键会中断循环时,请使用以下方式安装模块键盘

pip install keyboard
if keyboard.is_pressed('q'):
    break