Нажатие функциональных клавиш с помощью pynput с использованием переменных из файла .txt - PullRequest
0 голосов
/ 18 марта 2020

Я использую 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)
...