• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc przy kodzie

Object Storage Arubacloud
+1 głos
231 wizyt
pytanie zadane 5 lutego 2021 w Python przez Que Początkujący (260 p.)

Część, od paru dni uczę się pythona *pierwszy język*. Robiąc spam bota chciałem dać możliwość włączania funkcji na przycisk. Udało mi się z pomocą internetu dojść do takiego rozwiązania:

from pynput import keyboard
from pynput.keyboard import Key
from keyboard import write, press

def spam(text):
    i = 1
    while i < 5:
        write(text)
        press("Enter")
        i += 1

def on_press(key):
    pass

def on_release(key):
    #handle released keys
    if(key==keyboard.Key.f2):
        spam("fffff")

with keyboard.Listener(on_press=on_press,on_release=on_release) as listener:
    listener.join()

on_release()

Czy ktoś mógłby mi objaśnić w jaki po co w 3 od końca linijce znajduje się poniższy kod? Pozdrawiam :)

on_press=on_press,on_release=on_release

1 odpowiedź

0 głosów
odpowiedź 5 lutego 2021 przez Wiciorny Ekspert (269,710 p.)
wybrane 8 lutego 2021 przez Que
 
Najlepsza

def on_press(key):

    pass

 

def on_release(key):

    #handle released keys

    if(key==keyboard.Key.f2):

        spam("fffff")

definiujesz co ma się zdarzyć podczas operacji on_release -> oraz   on_press jednak to są same definicje, nie wiadomo kiedy je wykonać natomiast
w tym co podajesz jest wskazanie właśnie kiedy ma się wykonać kod zawarty w zdefiniowanych procedurach 
with keyboard.Listener - ustawiasz "nasłuchiwanie"  własnie na przycisk na klawiaturze [release- uwolnić], kliknąc oznacza [press]
na końcu uruchamiasz uwalniasz nasłuchiwanie, które oczekiwać będzie właśnie kliknięcia przycisku i wykonania operacji z nim związanej 

komentarz 6 lutego 2021 przez VBService Ekspert (253,120 p.)
edycja 6 lutego 2021 przez VBService

podczas operacji

chyba chodzi bardziej o zdarzeni(a)e (eventwink

on_press - wciśnięcie klawisza na klawiaturze

on_release - "puszczenie" klawisza

keyboard.Listener

kliknąc oznacza [press]

keyboard - kliknąć ?? surprisewink, kliknąć na klawiaturze w ... F2 ? wink

if(key==keyboard.Key.f2):

komentarz 6 lutego 2021 przez Que Początkujący (260 p.)

@Wiciorny,

@VBService

Chodziło mi o powód znajdowania się tego kodu:

on_press=on_press,on_release=on_release

przy with, reszta jest dla mnie zrozumiała.

komentarz 6 lutego 2021 przez VBService Ekspert (253,120 p.)
edycja 6 lutego 2021 przez VBService

keyboard-listener

Keyboard Listener is a module that allows you to create custom hotkeys (combinations) or custom keywords and bind them to custom functions in Python.

czyli ustawienie tzw. "słuchania" ("nasłuchu") w tym przypadku na pewne zdarzenia (event) klawiatury a mianowicie gdy:

on_press - wciśnięcie klawisza na klawiaturze wykonuje się defincja (funkcja) o nazwie 

on_press

def on_press(key):
    pass

i analogicznie 

on_release - "puszczenie" klawisza i wywołanie


on_release

def on_release(key):
    #handle released keys
    if(key==keyboard.Key.f2):
        spam("fffff")

 

2
komentarz 6 lutego 2021 przez Que Początkujący (260 p.)
Teraz rozumiem, dzięki :)

Podobne pytania

+2 głosów
2 odpowiedzi 187 wizyt
pytanie zadane 17 lipca 2020 w Python przez patryk241 Użytkownik (700 p.)
+1 głos
1 odpowiedź 233 wizyt
0 głosów
1 odpowiedź 91 wizyt
pytanie zadane 1 listopada 2023 w Python przez mark162 Początkujący (410 p.)

92,556 zapytań

141,404 odpowiedzi

319,560 komentarzy

61,942 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...