2015-10-17 1 views
0

Итак, я пытаюсь создать программу, которая случайно помещает мышь в определенные области на python, и я все еще проверяю ее, чтобы она могла немного сходить с ума. Мне было интересно, можно ли сделать команду безопасности, которая завершила бы программу, если бы был введен ключ или команда.Как я могу получить команду fail safe в 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); pyautogui.doubleClick()#gives time for the game to 
               #catch up with the mouse and fires gun 
     pyautogui.doubleClick()  #fires gun twice again         

except Keyboard Interrupt: 
print ('Yup') 

И если есть что-то не так с тем, как я кодирования, пожалуйста, скажите мне. Я все еще новичок в кодировании, поэтому любые советы были бы замечательными.

+0

Итак, вы хотите убить свою программу, если вы получаете клавиатуры Initerrupt исключение? Это то, что вы пытаетесь сделать? – idjaw

+0

Да. Если программа идет бонкерами, и я не могу ее контролировать (что бывает много), мне нужно выйти, не используя мышь. –

+0

Вы можете заменить 'while True' на счетчик и зафиксировать его фиксированное количество раз. – Keith

ответ

2

Что вы ищете, это использовать sys.exit() в вашем Исключении.

Попробуйте это:

import sys 

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

Большое спасибо! –

+0

Добро пожаловать. – idjaw

0

PyAutoGUI также имеет функцию отказоустойчивой. Перемещение курсора мыши в верхний левый угол экрана заставит PyAutoGUI повысить исключение pyautogui.FailSafeException .

Ваша программа может обрабатывать это исключение с помощью операторов try и except или позволить исключению сбой вашей программы. В любом случае функция отказоустойчивости остановит программу , если вы быстро перемещаете мышь так далеко, как вы можете.

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

По умолчанию FAILSAFE будет Правда и вы desable его ...

>>>pyautogui.FAILSAFE = False 
Смежные вопросы