PyUserInput使用及異常

2021-09-28 06:11:04 字數 2094 閱讀 3479

安裝pyuserinput之後,您應該在python路徑中有pymouse和pykeyboard模組。讓我們建立乙個滑鼠和鍵盤物件:

from pymouse import pymouse

from pykeyboard import pykeyboard

m = pymouse()

k = pykeyboard()

這是單擊螢幕中心並鍵入「 hello,world!」的示例:

x_dim, y_dim = m.screen_size()

m.click(x_dim/2, y_dim/2, 1)

k.type_string(『hello, world!』)

pykeyboard支援多種傳送擊鍵的方法:

k.press_key(『h』)

k.release_key(『h』)

k.tap_key(『e』)

k.tap_key(『l』,n=2,interval=5)

k.type_string(『o world!』)

它支援各種特殊鍵:

#create an alt+tab combo

k.press_key(k.alt_key)

k.tap_key(k.tab_key)

k.release_key(k.alt_key)

k.tap_key(k.function_keys[5]) # tap f5

k.tap_key(k.numpad_keys[『home』]) # tap 『home』 on the numpad

k.tap_key(k.numpad_keys[5], n=3) # tap 5 on the numpad, thrice

請注意,您還可以使用press_keys方法一起傳送多個擊鍵(例如,訪問鍵盤快捷鍵時):

k.press_keys([『command』,『shift』,『3』])

k.press_keys([k.windows_l_key,『d』])

平台之間的一致性是乙個巨大的挑戰。請檢視您正在使用的作業系統的源**,以幫助了解您需要傳送的金鑰格式。例如:

k.tap_key(k.alt_key)

k.tap_key(『alternate』)

我想對使用pymouseevent和pykeyboardevent做特別說明。這些物件是偵聽滑鼠和鍵盤輸入的框架。他們不做任何事情,除了聽,直到您將其子類化。我仍在對pykeyboardevent進行形式化,因此下面是對pymouseevent進行子類化的示例:

from pymouse import pymouseevent

def fibo():

a = 0

yield a

b = 1

yield b

while true:

a, b = b, a+b

yield b

class clickonacci(pymouseevent):

definit(self):

pymouseevent.init(self)

self.fibo = fibo()

def click(self, x, y, button, press):

'''print fibonacci numbers when the left click is pressed.'''

if button == 1:

if press:

print(self.fibo.next())

else: # exit if any other mouse button used

self.stop()

c = clickonacci()

c.run()

異常 報錯: :

m.click(x_dim/2, y_dim/2, 1)

改為m.click(int(x_dim/2), int(y_dim/2), 1)

no module named 'windows

方案pymouse時的檔案,開啟_init_.py檔案(用記事本或者python編譯軟體)然後找到第92行的windows將其改寫成 pymouse.windows

C C 使用異或交換元素及固有的缺點

如下 brief swap 異或交換兩元素 author version 1.0 date 2020 1 4 bug 不能指向同乙個記憶體位址 param in a 輸入a param in b 輸入a return void void swap int a,int b 下面來解釋這段 首先基於兩個...

異或的性質及運用

文章 異或是一種基於二進位制的位運算,用符號xor或者 表示,其運算法則是對運算子兩側數的每乙個二進位制位,同值取0,異值取1。它與布林運算的區別在於,當運算子兩側均為1時,布林運算的結果為1,異或運算的結果為0。簡單理解就是不進製加法,如1 1 0,0 0 0,1 0 1。性質1 交換律 2 結合...

Python 使用traceback捕捉異常

在python 中使用 try except exception as e 時,如果只是單存的把e記為str e 起始翻查日誌檢查錯誤時,錯誤資訊並不完整,要記錄像pycharm裡面debug時的完成錯誤資訊,可以使用traceback模組中的format exc import traceback ...