Написать программу дневник

Не могу понять как правильно реализовать эту задачу. Нужно написать программу дневник:

  1. Спрашиваем у пользователя дату

  2. Просим написать сообщение ( запись в дневник )

  3. Создаём файл diary.txt

  4. В него записывается всё записи + дата в таком формате: 01.01.2020 Привет, это первая запись

  5. Записи дополняются и корректно отображается в файле со всеми отступами Условия: использовать функции и циклы. Я так понимаю, что мы сначала должны спросить у пользователя все данные и занести их в файл. Только вот как это сделать нормально.. Я начал с этого:

     def diary_entry(date,message):
         file.write(date)
         file.write(message)
         file.close()
    
     word = True
     while word:
         date = input('Напишите дату :\n')
         date += '\n'
         message = input('Ваше сообщение :\n')
         message += '\n'
         file = open('files/diary.txt', 'w', encoding='utf-8')
         if date and message:
             diary_entry(date,message)
         else:
             print('Error')
    

В файл diary.txt ничего не появляется. Не могу понять в чем дело. И еще вопрос. Как сделать так, чтобы после того как пройдет первый цикл, в файле данные добавились а не перезаписались?


Ответы (2 шт):

Автор решения: Эникейщик

Убрать int в строке

date = int(input('Напишите дату :\n'))

int() переводит в целое число. 12.12.20 целым числом не является.

→ Ссылка
Автор решения: Brainsluggy

Я знаю ответ, как сделать, чтобы данные не перезаписались, а добавились:

Ваш_файл = open('имя_файла.txt', 'a')
# "a" добавляет в файл, а "w" перезаписывает
Ваш_файл.write('Какой-то текст')
# записываем данные в файл
Ваш_файл.close()
# закрываем файл, чтобы он не висел в памяти
→ Ссылка