我正在用python编写程序。我想保存更新的文件以保持版本更改。如何在文件开头附加行。我尝试了seek(0,0),但是不起作用
我需要修改代码
吗?firfox.txt
firefox-x 46.0:
google 5.1.0.1:
- request
file.py
import re
rx = r'\d+(?=:$)'
with open('firfox.txt', 'r') as fr:
data = fr.read()
fr.seek(0,0)
with open('firfox.txt', 'a') as fw:
fw.seek(0,0)
fw.write('\n')
fw.write(re.sub(rx , lambda x: str(int(x.group(0)) + 1), data, 1, re.M))
我还写了另一个file.py
import re
rx = r'\d+(?=:$)'
with open('firfox.txt', 'r+') as fr:
data = fr.read()
fr.seek(0,0)
fr.write(re.sub(rx , lambda x: str(int(x.group(0)) + 1), data, 1, re.M))
fr.write(data)
这里多行重复,就像我执行两次 firefox-x 46.0:行两次一样
新的预期firfox.txt如下所示。一次执行
firefox-x 46.1:
google 5.1.0.1:
- request
firefox-x 46.0:
google 5.1.0.1:
- request
如果再次执行以下预期的python文件。
firefox-x 46.2:
google 5.1.0.1:
- request
firefox-x 46.1:
google 5.1.0.1:
- request
firefox-x 46.0:
google 5.1.0.1:
- request
答案 0 :(得分:0)
尝试一下:
import re
rx = r'\d+(?=:$)'
with open('firfox.txt', 'r') as fr:
data = fr.read()
fr.close()
with open('firfox.txt', 'w') as fw: # w mode always start from beginning
fw.write(re.sub(rx , lambda x: str(int(x.group(0)) + 1), data, 1, re.M))
fw.write('\n')
fw.write(data)
fw.close()
只需在写入新数据后写入先前的文本文件数据