【发布时间】:2019-06-27 08:52:10
【问题描述】:
我正在尝试将 ElasticSearch 的版本保存在一个文件中。
输入文件:
ElasticSearch 5:1:
第一次执行后的输出文件
ElasticSearch 5:1:0
第二次执行后的输出文件
ElasticSearch 5:1:1
ElasticSearch 5:1:0
第三次执行后输出文件
ElasticSearch 5:1:2
ElasticSearch 5:1:1
ElasticSearch 5:1:0
我的代码在下面
import re
reg = r'(?:)$'
with open('elastic.txt', 'r') as fread:
data = fread.read()
with open('elastic.txt', 'a') as fwrite:
fwrite.seek(0,0)
fwrite.write(re.sub(reg, lambda x: str(int(x.group(0)) + 1), data, 1, re.M))
我面临的两个问题 seek(0,0) 无法正常运行,并且没有添加正则表达式
【问题讨论】:
-
仅供参考,
r'(?:)$'='$'。它匹配字符串位置的结尾。为什么要增加字符串的结尾?实际的预期结果是什么? -
我想从 0 开始保存版本,并在执行时保持递增
-
试试
with open('elastic.txt', 'w') as fwrite:。a代表追加,我很确定你想覆盖它。