Python 3.9 keyboard.record()
Возник вопрос:
В модуле keyboard имеется функция записи действий с клавиатуры (start_recording - stop_recording), по окончании записи данные представляются в типе list и их можно записать в переменную.
Вопрос в том, как бы записать эти данные с записи в файл, да так чтоб при открытии в следующий раз list сохранился для чтения модулем keyboard (функция: play()). Или же имеются способы по восстановлению list из строки?...
import keyboard,json
#нажмите k для активации записи клавиш с клавиатуры пк
keyboard.wait('k')
keyboard.start_recording()
keyboard.wait('l')
a=keyboard.stop_recording()
# здесь тип переменной a list
with open('name.txt','w') as f:
f.write(str(a))
with open('name.txt','r') as f:
b = f.read(json.loads(f.read()))
#при присваивании b ошибка.
keyboard устанавливается на win: pip install keyboard.
Ответы (1 шт):
Автор решения: eri
→ Ссылка
допустим
events = [keyboard.KeyboardEvent(0,0)]
тогда можно сохранить как
with open('list.txt', 'w', encoding='utf-8') as f:
f.writelines( [ ke.to_json()+'\n' for ke in events ] )
прочитать обратно
import json
with open('list.txt', 'r', encoding='utf-8') as f:
events = [ keyboard.KeyboardEvent(**json.loads(js)) for js in f.readlines()]