我有一个文件,需要增加文件中的数字并保存到另一个文件中,并且它将保持递增。除了一个条件,我编写的代码绝对有效。 file2必须增加一个,如果文件2中存在最后一位,则必须继续加一。
file2(输出)的最后一位仅递增一次,但需要无限递增直到执行停止
import re
import sys
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)
#Error part is below
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
firfox 5.1:
chrome 5.0:
file2(预期在下面)
After 3 times execution
firfox 5.1:0
chrome 5.0:
firfox 5.1:1
chrome 5.0:
firfox 5.1:2
chrome 5.0: