Python Сценарий Бесконечный L oop до указанного c Нажатие клавиши - PullRequest
0 голосов
/ 18 января 2020

Я полный новичок ie в кодировании, но я сделал простой скрипт.

import time
import keyboard

while True:
    try:
        if keyboard.is_pressed('F3'):
            time.sleep(1)
            keyboard.press('enter')
            continue
    except:
        break

Когда я нажимаю F3, скрипт заставляет компьютер нажимать клавишу Enter. Проблема в том, что он работает только один раз, пока вы снова не нажмете F3.

Как я могу сделать это go навсегда, пока я не нажму F3, чтобы остановить его?

Ответы [ 2 ]

0 голосов
/ 18 января 2020

Я изменил код, чтобы он начинался с F3 и заканчивался клавишами F4. Вот это для всех, кто читает!

import time
import keyboard
from random import randint


def main():
    x = 0
    while x == 0:
        try:
            if keyboard.is_pressed('F3'):
                x = 1
        except:
            x = 0
    while x == 1:
        if keyboard.is_pressed('F4'):
            break
        try:
            time.sleep(randint(2,3))
            keyboard.press('enter')
        except:
            break

main()
0 голосов
/ 18 января 2020

Надеюсь, я правильно понял вопрос. Чтобы прекратить нажатие клавиши ввода, когда нажата клавиша F3, вы должны переместить следующие строки:

time.sleep(1)
keyboard.press('enter')

за пределы if заявления. Например:

import time
import keyboard

while True:
    try:
        if keyboard.is_pressed('F3'):
            break
        time.sleep(1)
        keyboard.press('enter')
    except:
        break

Кроме того, continue здесь не нужен. А поскольку после проверки нажатия клавиши программа спит в течение 1 секунды, вам придется удерживать клавишу F3 не менее 1 секунды.

Чтобы запустить l oop нажатием клавиши, вы можете запустить функция со следующим:

while not keyboard.is_pressed('F3'):
    pass

time.sleep(0.1)

Теперь функция будет ждать, пока не будет нажата клавиша F3. Небольшая задержка необходима, потому что в противном случае функция клавиатуры будет думать, что клавиша F3 нажата, когда она вводит второй l oop. Я обнаружил, что задержка в 100 мс работает нормально.

Если вы выберете другую клавишу, тогда клавиша F3, эта задержка не понадобится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...