#python #filesystems #rename #atomic #fwrite
#python #файловые системы #переименовать #атомарный #fwrite
Вопрос:
Какой рекомендуемый способ атомарной замены файла в Python?
т.Е., Если скрипт Python прерывается, происходит отключение питания и т. Д. Файлы не имеют высокой вероятности оказаться в несогласованном состоянии (половина записана на диск).
Предпочтительным является решение для платформ Linux / UNIX.
(Я знаю, что получение 100% атомарных операций может зависеть от вашей файловой системы, но, по крайней мере, снизить вероятность повреждения.)
Комментарии:
1. Ответ, вероятно, будет включать создание временных файлов (в том же разделе) и удаление существующего целевого объекта
2. Это не дубликат и имеет гораздо более простой ответ, чем вопрос, связанный с, пожалуйста, откройте снова.
Ответ №1:
Создайте новый файл и os.rename() поверх существующего файла. Это атомарно на большинстве платформ в большинстве условий.
Комментарии:
1.
os.replace()
является атомарным на ВСЕХ платформах в большинстве условий.