keyboard.play功能无法正常工作

时间:2019-01-03 20:26:20

标签: python python-3.x pickle keyboard-events

在调用带有事件列表的函数时,它什么都不做。

我试图将其保存到文件中或以某种方式共享该变量,但到目前为止没有任何效果。

这是record.py,它记录了按下的键并将其保存到文件中

import keyboard
import pickle

with open('keys.txt','wb') as f:
    pickle.dump(keyboard.record(until='*'),f)

这是script.py,它从文件中加载按下的键并再次按下它们

import keyboard
import pickle

with open('keys.txt','rb') as f:
    keyboard.play(pickle.load(f))

它没有显示任何错误,但是却没有任何作用-它应该输入文件中保存的内容,但不会。

2 个答案:

答案 0 :(得分:0)

尝试首先将键盘上的事件设置为列表。

record.py

import keyboard as k
import pickle as p
events = k.record(until = '*')
with open('events.txt', mode = 'wb') as file:
    p.dump(events, file)

script.py

import keyboard as k
import pickle as p
with open('events.txt', mode = 'rb') as file:
    events = p.load(file)
# end with
k.replay(events)

答案 1 :(得分:0)

我通过放置“无用的”功能解决了问题,这些功能实际上并没有实现任何目的。 record.py保持不变,我像这样更改了script.py:

import keyboard
import pickle

keyboard.start_recording()
keyboard.stop_recording()

with open('keys.txt','rb') as f:
    keyboard.play(pickle.load(f))