Нужно записать данные в конец файла
Всем привет. Нужно записать данные в конец файла
import time
import json
from datetime import datetime
while True :
with open("data.json", "r") as file:
for line in file:
json_line = json.loads(line.strip()) # парсим строку которую получили с файла
notification_time = json_line['time'] # получаем со строки значение time
status = json_line['status'] # получаем значение status
notification_time_object = datetime.strptime(notification_time, '%Y-%m-%d %H:%M:%S.%f') # Превращаем time в обьект, что бы можно было сравнить даты
if datetime.now() >= notification_time_object and status == 1:
if status1 == status:
status2 = 0
with open("data.json", 'w') as file:
file.write(str(status2))
# status1 = status2.replace('"status":"1"', '"status":"0"')
# with open("data.json", 'w') as file:
# file.write(status1)
print('Alert! - ' + str(json_line))
time.sleep(5)
Ответы (1 шт):
Автор решения: Alex Troickiy
→ Ссылка
Значения аргумента при открытии файла:
- r - открывает файл только для чтения,
- w - открыт для записи (перед записью файл будет очищен),
- x - эксклюзивное создание, бросается исключение FileExistsError, если файл уже существует.
- a - открыт для добавления в конец файла (на некоторых Unix-системах пишет в конец файла вне зависимости от позиции курсора)
- "+" символ обновления (чтение + запись).
- t - символ текстового режима.
- b - символ двоичного режима (для операционных систем, которые различают текстовые и двоичные файлы).
Попробуйте - with open("data.json", 'a') as file: