Я использую pynput для записи ввода с клавиатуры в текстовый файл и пытаюсь воссоздать их, но у меня возникли некоторые проблемы. Простая форма моего кода выглядит следующим образом:
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', вернув его в исходную строковую форму. Это допустимый ввод для клавиатуры.press (). Тем не менее, Key.f9 является более сложным, потому что клавиатура.press () требует ввода в формате «Ключ», а не «строка».
Я не смог найти способ импортировать правильные данные из .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)