Как записать данные нажатия клавиш в файл Excel в Python? - PullRequest
0 голосов
/ 04 марта 2019

Я написал простую программу, которая записывает данные о нажатии клавиш.Я создал две функции (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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...