Написать программу дневник
Не могу понять как правильно реализовать эту задачу. Нужно написать программу дневник:
Спрашиваем у пользователя дату
Просим написать сообщение ( запись в дневник )
Создаём файл diary.txt
В него записывается всё записи + дата в таком формате: 01.01.2020 Привет, это первая запись
Записи дополняются и корректно отображается в файле со всеми отступами Условия: использовать функции и циклы. Я так понимаю, что мы сначала должны спросить у пользователя все данные и занести их в файл. Только вот как это сделать нормально.. Я начал с этого:
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 целым числом не является.
Я знаю ответ, как сделать, чтобы данные не перезаписались, а добавились:
Ваш_файл = open('имя_файла.txt', 'a')
# "a" добавляет в файл, а "w" перезаписывает
Ваш_файл.write('Какой-то текст')
# записываем данные в файл
Ваш_файл.close()
# закрываем файл, чтобы он не висел в памяти