Keybord(klaviatura)

|
Keybord(klaviatura)
|
bet | 1/3 | Sana | 18.05.2024 | Hajmi | 26,55 Kb. | | #242289 |
Bog'liq 6.Python klaviatura moduli uchun qo
Python klaviatura moduli uchun qo'llanma
Kirish
Python vazifalarni avtomatlashtirish uchun eng mos tillardan biridir. Python hayotingizni osonlashtiradigan ko'plab modullarga ega.
Ulardan biri keybord(klaviatura) deb nomlangan modul bo'lib , u sizning klaviaturangizni to'liq nazorat qiladi. Ushbu modul yordamida siz istalgan narsani yozishingiz, tezkor tugmalar, yorliqlar yaratishingiz, klaviaturani qulflashingiz, kiritishni kutishingiz va hokazo.
Eslatma: Gumanoid jarayonlarni avtomatlashtirishga asoslangan ilovalar axloqiy va mas'uliyatli tarzda ishlab chiqilishi kerak. Klaviatura moduli juda ko'zga ko'rinadigan qilib ishlab chiqilgan va shuning uchun kimdir undan keyloggerlar yoki zararli botlarni yaratish uchun foydalanish mumkin emas.
Klaviatura modulini o'rnatish
Agar siz Linnux-dan foydalanayotgan bo'lsangiz, ushbu kutubxonadan foydalanish uchun uni root sifatida o'rnatishingiz kerak. Agar buni qilmasangiz, siz quyidagilarni olasiz:
ImportError: You must be root to use this library on linux.
Bundan tashqari, skriptni ishga tushirishda uni root sifatida ishga tushirishingiz kerak:
$ sudo pip3 install keyboard
$ sudo python3 my_script.py
Windows va macOS-da, imtiyozlar juda boshqacha ishlaydi - siz uni oddiygina pip orqali o'rnatishingiz va skriptlarni ishga tushirishingiz mumkin:
$ pip install keyboard
$ python my_script.py
Eslatma: MacOS uchun siz Terminal yoki boshqa ilovalarga mashinangiz holatini o'zgartirishga ruxsat berishingiz kerak bo'lishi mumkin, masalan, matn kiritish orqali. Shuni ham yodda tutingki, 2021-yil sentabrigacha kutubxona hali ham MacOS’da eksperimental holatda.
Klaviatura moduli funksiyasi
Ushbu modul klaviatura harakatlarini simulyatsiya qilish uchun ishlatilishi mumkin bo'lgan ko'plab funktsiyalarga ega.
keyboard.write(xabar, [kechikish]) - xabarni kechiktirmasdan yoki kechiktirmasdan yozadi.
keyboard.wait(key) - tugma bosilmaguncha dasturni bloklaydi. Kalit satr sifatida uzatiladi ("bo'sh joy", "esc" va boshqalar).
keyboard.press(tugma) - tugmani bosadi va uni bo'shatish(tugma) funksiyasi chaqirilguncha ushlab turadi
keyboard.release(key) - kalitni chiqaradi .
keyboard.send(tugma) - tugmani bosadi va chiqaradi .
keyboard.add_hotkey(hotkey, function) - bosilganda funksiyani bajaradigan tezkor tugmani yaratadi.
keyboard.record(tugma) - tugma bosilishidan oldin klaviatura faoliyatini qayd qiladi.
keyboard.play(recorded_events, [speed_factor]) - keyboard.record(tugmacha) funksiyasi bilan yozilgan voqealarni qoʻshimcha tezlik_faktori bilan oʻynaydi.
Biroq, biz bularning barchasini ko'rib chiqamiz. Mana tez misol:
>>> import keyboard
>>> keyboard.write("Hello")
>>> Hello
Terminaldagi ekranda xush kelibsiz xabar paydo bo'ladi, go'yo siz uni yozgansiz. Siz buyruqni juda oson avtomatlashtirishingiz va uning uchun tezkor tugma taxallusini yaratishingiz mumkin. Curl buyrug'ini yozish, Python REPL-dan chiqishning (qo'pol) misoli:
>>> import keyboard
>>> keyboard.write("exit()"); keyboard.send("enter"); keyboard.write("curl https://www.google.com"); keyboard.send("enter");
>>> exit()
curl https://www.google.com
$ curl https://www.google.com
| Klaviatura yozish() va kutish() funksiyalari
write() buyrug'i avval ko'rganimizdek, ixtiyoriy ishga tushirish kechikishi bilan xabar yozadi. Agar kechikish o'rnatilmagan bo'lsa, yozib olish bir zumda amalga oshiriladi. Bu ma'lum bir tugma bosilishini kutuvchi wait() funksiyasi bilan juda yaxshi birlashadi.
Misol uchun, biz, aytaylik, 1 ga bog'langan vaqtinchalik makrosni yaratishimiz mumkin, u ushbu kiritishga yangi xabar bilan javob beradi. E'tibor bering, uning o'rniga tezkor tugmalar yaratishning haqiqiy usuli bor, biz ularni keyinroq ko'rib chiqamiz.
Tugma bosilishini tekshirish uchun cheksiz True siklini yaratamiz va siz skriptni fonda ishga tushirishingiz mumkin:
| |