【发布时间】:2020-06-29 14:25:59
【问题描述】:
我正在使用 pynput 将键盘输入记录到 .text 文件并尝试重新创建它们,但我遇到了一些麻烦。我的代码的一个简单形式如下:
from pynput.keyboard import Key, Controller
keyboard = Controller()
log_data = open('key_log_prob.txt', 'r')
key, keyclass, press = zip(*[x.split(';') for x in log_data.readlines()])
for i in key:
keyboard.press(i)
keyboard.release(i)
.txt 文件的样子:
'b';KeyCode;1
'b';KeyCode;0
Key.f9;Key;1
Key.f9;Key;0
首先将数据导入为:
("'b'", "'b'", 'Key.f9', 'Key.f9')
keyboard.press() 的格式不正确。 我可以通过将“b”键返回到其原始字符串形式来使用它的解决方法。这是keyboard.press() 的有效输入。但是,'Key.f9' 更复杂,因为keyboard.press() 需要输入格式'Key' 而不是'string'。
我无法找到从 .text 正确导入数据或将“Key.f9”转换为有效格式的方法。
为清楚起见,下面是代码如何正常工作的示例:
from pynput.keyboard import Key, Controller
keyboard = Controller()
key = ['b', Key.f9]
for i in key:
keyboard.press(i)
keyboard.release(i)
【问题讨论】: