zvepb
@zvepb

Как записать данные в файл на python?

def on_press(key):
    l = '{0}'.format(key)

with Listener(
    on_press=on_press) as listener:
    listener.join()
f = open("log.txt", "w")
f.write(l)
f.close()


В этом кусочке функция он_прэсс передает в переменную l нажатые клавиши. Она никак не прерывается. Подскажите как записывать такие данные в лог файл? Какой метод или библиотеку использовать? Если можно привести код и вкратце объяснить как это работает) Пробовал через пикл.дамп и джсон, но безуспешно.
  • Вопрос задан
  • 527 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Во-первых, надо форматировать код специальным тегом.
Во-вторых, у вас переменная l локальна и не видна снаружи функции.
В-третьих, чтобы что-то записать в файл, лучше пользоваться такой конструкцией:
with open("log.txt", "w") as f:
    f.write('any text')

При этом файл каждый раз открывается с перезаписью, то есть очисткой всего что там было до открытия.
Чтобы не удалялось, нужно открывать так: open('filename.log', 'a')
Тогда файл не будет пересоздаваться поверх старого и можно дописывать к нему данные.
В-четвертых, в питоне есть отличный модуль logging. Нагуглить статью про его использование элементарно.
И мне не придётся это всё писать...

Читайте книжку. Ну что вы все лезете программировать обучаясь на слухах, сказаниях и преданиях вместо чтения статей и книг, где всё изложено коротко и лаконично.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Dev12345
Какой-то кодер
Так вы и так записываете в файл лог, более нормально будет использовать библиотеку logging (специальная для логгов, от python).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы