我有一个USB QR码扫描仪,它可以模拟键盘输入的读数。
它会将它读取的任何内容输出到可以处理键盘输入的应用程序(即记事本)
我有一个QR码生成器工作,它创建一个QR码,其值为随机的20个字符串。
然后我用扫描仪扫描生成的QR码以捕获其值。
为了捕获它的值,我试图使用Python 3.5和Pynput创建一个监听器,将每个模拟按键附加到列表中。
from pynput.keyboard import Key, Listener
scannedInput = []
def on_press(key):
scannedInput.append(key)
def on_release(key):
if key == Key.esc:
return False
with Listener(on_press=on_press,on_release=on_release) as listener: listener.join()
print(scannedInput)
侦听器会捕获数据并将其打印到屏幕上。
但是我无法访问scanInput列表,并且最后的print语句不会被调用。
我需要scanInput数据来执行验证。
有什么建议吗?
编辑:
自此问题最初发布以来,我的代码已更改。
现在看起来是这样。
from pynput.keyboard import Key, Listener
import time
scannedInput = []
def on_press(key):
scannedInput.append(key)
return True
with Listener(on_press=on_press) as listener:
while( time.sleep(5)):
listener.join()
Listener.stop(listener)
print(scannedInput)