У меня есть файл, и мне нужно увеличить цифру в файле и сохранить в другой файл, и он будет продолжать увеличиваться. Код, который я написал, абсолютно работает, за исключением одного условия. Файл2 должен увеличиваться на единицу и продолжает добавлять единицу, если в файле есть последняя цифра2
Последняя цифра файла2 (выходная) увеличивается только один раз, но должна увеличиваться до бесконечности до остановки выполнения
После 3-го исполнения все равно выведите 5.1: 1, а не 5.1: 2
Альтернатива также ценится
import re
import os
rx = r'(?<=:)(\d*)$'
rex = r'(?<=:)(\d+)$'
with open('file1','r') as fh:
fh_n = fh.read()
with open('file2', 'a+') as fw:
x = re.sub(rx , lambda x: str(int(x.group(0)) + 1) if len(x.group(1)) else "0", fh_n, 1, re.M)
fw.seek(0, os.SEEK_SET)
if x in fw.read():
y = re.sub(rex , lambda x: str(int(x.group(0)) + 1) , x, 1, re.M)
fw.seek(0, os.SEEK_END)
fw.write(y)
else:
fw.write(x)
file1
firefox 5.1:
chrome 5.0:
file2 (ожидаемый результат ниже)
После 3-х кратного исполнения
firefox 5.1:0
chrome 5.0:
firefox 5.1:1
chrome 5.0:
firefox 5.1:2
chrome 5.0: