Задать вопрос
@hudra_sharq

Как улучшить код?

Есть вот такой код:

import keyboard as kb
import pyautogui as pt

if __name__ == '__main__':

while True:
if kb.is_pressed('Space'):
pt.click(x=-1241, y=624)
pt.click(x=-303, y=720)
#pt.click(x=-207, y=1063) #2
pt.click(x=604, y=634)
pt.click(x=1363, y=679)
pt.click(x=1363, y=679)
pt.click(x=2265, y=654)
#pt.click(x=-207, y=1063) # 2
pt.click(x=558, y=1342)
pt.click(x=2476, y=1255)

Который после запуска при нажатие пробел начинает свою задачу,т.е нажимать на определенные заданные координаты последовательно,на это уходит чуть более 1с.
Вопрос,как улучшить код,чтобы при нажатие пробела нажатие на все координаты происходило одновременно,а не постепенно,чтобы клик происходил сразу в разных областях,т.е. задача сократить время на выполнение этого кода при нажатие пробел,будь это хоть 5 координат для нажатие или 20.
Заранее благодарю за решение!
Если что сам в программирование 0,буду рад за уже скоректированный код
  • Вопрос задан
  • 163 просмотра
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
Вопрос,как улучшить код,чтобы при нажатие пробела нажатие на все координаты происходило одновременно

Никак, в любом случае будет задержка. Попробуйте так, эксперементируйте с паузой, чтобы добиться максимально быстрых кликов:
import keyboard as kb
import pyautogui as pt

pt.PAUSE = 0.01

if __name__ == '__main__':
    coordinates = [
        (-1241, 624),
        (-303, 720),
        (604, 634),
        (1363, 679),
        (1363, 679),
        (2265, 654),
        (558, 1342),
        (2476, 1255),
    ]

    while True:
        if kb.is_pressed('Space'):
            for x, y in coordinates:
                pt.click(x, y)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
GavriKos
@GavriKos
Использовать не pyauto, а что то другое и более низкоуровневое. Например винапи. Если и там не получится - прикидываться тачскрином с мультитачем. В общем задача нетривиальная и небесплатная
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы