Как сделать цикл в коде в pynput без использования оперативной памяти, и это бесконечно - PullRequest
0 голосов
/ 26 сентября 2018

У меня возникли проблемы с зацикливанием этого кода, я новичок в python и кодировании, и пытаюсь сделать его афк-машиной для игры, в которую я играю

Это код, который я пытаюсь сделать так, чтобы он что-то печатал снова и снова.более чем бесконечно, пожалуйста, помогите мне, пытаясь сделать машину afk, так как моей программе, которую я использую, не хватило времени, так что я пытаюсь сделать это новым для этого, так что извините за глупый вопрос, но я пробовал циклы For и циклы while, и я не могу получитьих на работу

from pynput.keyboard import Key, Controller
import time


keyboard = Controller ()

time.sleep(0.1)
for char in "vcmine start":
    keyboard.press(char)
    keyboard.release(char)
    time.sleep(0.03)

keyboard = Controller()

keyboard.press(Key.enter)
keyboard.release(Key.enter)

1 Ответ

0 голосов
/ 26 сентября 2018

Полагаю, вы могли бы буквально просто сделать что-то вроде этого.

from pynput.keyboard import Key, Controller, Listener
import time

def on_press(key):
    print('{0} pressed'.format(
        key))

def on_release(key):
    print('{0} release'.format(
        key))
    if key == Key.esc:
        # Stop listener
        return False

# Collect events until released
with Listener(
        on_press=on_press,
        on_release=on_release) as listener:
    listener.join()

keyboard = Controller ()# You should only need to define this once
while(True):# This will repeat the indented code below forever   
    time.sleep(0.1)
    for char in "vcmine start":
        keyboard.press(char)
        keyboard.release(char)
        time.sleep(0.03)

    keyboard.press(Key.enter)
    keyboard.release(Key.enter)
# However the only way you can stop it is by closing the program

Это в значительной степени просто скопировано и вставлено из https://pythonhosted.org/pynput/keyboard.html в разделе Мониторинг клавиатуры.Сначала запустите код, затем поместите курсор туда, где вы хотите, чтобы текст набирался, затем, нажав клавишу Esc на клавиатуре, теперь запустится остальная часть кода и наберет то, что вы хотите, где вы хотите.

Также обратите внимание, что если вы запустите код, а затем поместите курсор в другое текстовое поле во время его выполнения, он вместо этого начнет печатать там.

для циклов while и while могут сначала сбивать с толку, но определенно читаютна них, потому что они много используются в кодировании и очень полезны.Несмотря на то, что Python - мой любимый язык, у него есть немного больше разнообразия в отношении того, как можно определять циклы, что поначалу может показаться немного запутанным.

Используйте Google ALOT, чтобы найти учебные пособия и видео YouTube на эту тему (существует множествобольшой информации там).

...