Проверка нажатия клавиши для приостановки программы в середине цикла в PythonPython

Программы на Python
Anonymous
Проверка нажатия клавиши для приостановки программы в середине цикла в Python

Сообщение Anonymous »

В настоящее время я создаю веб-скребок для сбора данных для проекта, над которым работаю. Однако парсер, который я использую, использует Selenium Webdriver и Pyautogui, а это означает, что я не могу использовать свой компьютер, пока он активен. Что я хотел бы сделать, так это иметь функцию, позволяющую приостанавливать мою программу нажатием клавиши (или чем-то еще простым), когда я хочу использовать свой компьютер для других целей, а затем возобновлять работу программы с помощью простого ввода.
Проблема, с которой я столкнулся, заключается в том, что я хочу, чтобы эта пауза происходила в начале каждого цикла моей программы. Этот цикл занимает много времени, и проверка нажатия клавиши не работала так, как я планировал. Это также не обязательно должно быть нажатие клавиши. Мне просто нужен способ остановить запуск моего кода, чтобы я мог выполнять другие задачи в течение дня, а затем позволить коду работать, пока меня нет за столом. Вот аналогичный пример того, чего я пытаюсь достичь:

Код: Выделить всё

import time

paused = False

def observe_keypress_function():
if key_was_pressed:
print('Key has been pressed')
paused = True

while True:
if paused:
input('Waiting for input')
for i in range(1, 10):
print(i)
time.sleep(1)
это результат, который я ищу при нажатии клавиши во время цикла

Код: Выделить всё

1
2
3
4  # Between 4 and 5 is a keypress
Key has been pressed
5
6
7
8
9
Waiting for input
Очевидно, это не обязательно должна быть такая функция, но я хочу, чтобы было именно так.
Я пробовал использовать клавиатуру библиотека, но у меня это не сработало. Я тоже подумал, что темы могут быть полезны. Таким образом, я мог обнаружить нажатие клавиши в любой момент, а затем просто дождаться завершения цикла, чтобы сделать паузу. Однако я недостаточно разбирался с этим, чтобы сказать, сработает это или нет (и у меня нет такого большого опыта работы с потоками).
Большое спасибо за помощь!
Большое спасибо за помощь! п>

Подробнее здесь: https://stackoverflow.com/questions/786 ... -in-python

Вернуться в «Python»