Я написал простую программу, которая записывает данные о нажатии клавиш.Я создал две функции (on_Press и on_release), я хочу записывать все захваченные данные нажатия клавиш из on_press () и on_release () в новый файл Excel каждый раз, когда нажимается клавиша ввода.
Но после выполнения приведенного ниже кода, программа только записывает данные ключа «Enter» и игнорирует остальные.
Есть идеи, пожалуйста?
Спасибо
from pynput.keyboard import Key, Listener
from datetime import datetime
import pandas as pd
from pandas import ExcelWriter
from pandas import ExcelFile
key_pressed = [0]
key_press_time = [0]
key_released = [0]
key_release_time = [0]
def on_press(key):
global key_pressed, key_press_time, key_released, key_release_time
key_pressed = key
key_press_time = datetime.utcnow().strftime('%M:%S.%f')
return key_pressed, key_press_time
def on_release(key):
global key_pressed, key_press_time, key_released, key_release_time
key_released = key
key_release_time = datetime.utcnow().strftime('%M:%S.%f')
key_dict = {'Key_Pressed':[key_pressed],
'Key_Press_Time':[key_press_time],
'Key_Released':[key_released],
'Key_Release_Time':[key_release_time]}
kd = pd.DataFrame(key_dict)
print(kd)
if key == Key.enter:
writer = ExcelWriter('KeystrokeData.xlsx')
kd.to_excel(writer,'Sheet1',index=False)
writer.save()
# Stop listener
return False
# Collect events until released
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()