我为一个键盘记录器写了一些代码,我遇到了一些奇怪的事情。你知道吗
每当我执行代码时,程序有50%的机会将每个字符记录为十六进制('\x01')。你知道吗
50%作为文字字符记录。(‘a’)
-真的是随机的吗?你知道吗
当我不改变密码的时候。每次我运行它时,字符的输出可能会改变。你知道吗
import pynput
from pynput.keyboard import Key, Listener
count = 0
keys = []
def on_press(key):
global keys, count
keys.append(key)
count=+1
print(key)
if count >= 10:
count = 0
write_file(keys)
def on_release(key):
if key == Key.esc:
return False
def write_file(keys):
with open("popa", "a") as wri:
for key in keys:
wri.write(str(key))
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()
我希望每个字符都能以友好的形式输出。你知道吗
这不是a=\x01
在将pynput升级到1.4.2版之后,我遇到了类似的情况,当按下ctrl键时,键被转换为十六进制(mac10.14.6)。你知道吗
最好的解决方案是重新安装pynput(1.4版)。
另一个解决方案是像这样还原十六进制:
*注意这只适用于按下
ctrl
和不按下alt
或command
组合的小写键。你知道吗相关问题 更多 >
编程相关推荐