Добрый день. Имеется программа которая циклом обновляет файл и работает как служба Windows. В определенный момент, например при внезапного отключения ПК, файл ломается. Ниже код, который отвечает за обновление, причем по логам файл ломается даже не на этапе обновления. Файл в конце закрываю, но это не решило проблему. Как исправить ситуацию?
if delta2.days <= 14:
app_log.info('Дата меньше 14 дней')
with open('C:\\m\\notice.ini', 'r') as f:
old_data = f.read()
new_data = old_data.replace('2-0\n', '2-1\n')
with open('C:\\m\\notice.ini', 'w') as f:
f.write(new_data)
f.close()
else:
app_log.info('Дата больше 14 дней')
with open('C:\\m\\notice.ini', 'r') as f:
old_data = f.read()
new_data = old_data.replace('2-1\n', '2-0\n')
with open('C:\\m\\notice.ini', 'w') as f:
f.write(new_data)
f.close()
Файл такого вида и периодически нужно менять 1-0 на 1-1 и обратно, в зависимости от условий, в целом работает, но при внезапном отключении пк файл крашится и записываются непонятные символы в одну строку.
1-1
2-0
3-0
4-0
5-0
6-0
7-1