#python #file #backup
#python #файл #резервное копирование
Вопрос:
Я использую
with open("random.txt") as file:
dump content
чтобы обновить мой файл JSON. Он выполняется с использованием QTimer каждые 5 секунд.
Проблема возникает, когда у меня происходит неожиданное отключение питания, которое я не могу предотвратить в настоящее время.
Иногда файл JSON становится пустым. Как говорится в документации при использовании «с открытым» после выполнения команды внутри функции file.close() вызывается автоматически. Мой файл JSON очень маленький (15 строк), поэтому мне не требуется много времени для его обновления.
Как я могу реализовать какое-то создание теневой копии этого файла Json или какой-либо другой вариант резервного копирования, чтобы я мог восстановить его в случае повреждения исходного файла?
Комментарии:
1. Я столкнулся с этой проблемой (хотя она никогда не тестировалась при фактическом отключении питания), и я сначала переименовываю существующий файл на другое имя, а затем записываю требуемый файл. При чтении файла я читаю все существующие файлы и пытаюсь выбрать самые последние. (Также я помещаю в них контрольные суммы для проверки содержимого).
2. Это именно то, что я имел в виду, но я подумал, что, возможно, что-то не так с моей командой «with open» и сбросом новых данных. Спасибо за ваше предложение.