Python 3.x 用计数时间替换t=0.000000
我用这个代码用一个计数器(time=time+10)替换t=0.000000,所以每次代码找到t=0.000000时,它加上10,它们变成0,10,20。。。 你知道怎么做吗Python 3.x 用计数时间替换t=0.000000,python-3.x,replace,Python 3.x,Replace,我用这个代码用一个计数器(time=time+10)替换t=0.000000,所以每次代码找到t=0.000000时,它加上10,它们变成0,10,20。。。 你知道怎么做吗 import re import itertools counter = itertools.count(0, 10) with open("input.txt", "r") as f_in: with open("output.txt", "w") as f_out: for line in f_in:
import re
import itertools
counter = itertools.count(0, 10)
with open("input.txt", "r") as f_in:
with open("output.txt", "w") as f_out:
for line in f_in:
re.sub("t=0.000000", f"t={next(counter):.6f}", line.lower())
f_out.write(line + "/n")
你可能想要这样的东西:
import re
import itertools
counter = itertools.count(0, 10)
with open("input.txt", "r") as f_in:
with open("output.txt", "w") as f_out:
for line in f_in:
re.sub("t=0.000000", f"t += {next(counter)}", line.lower())
f_out.write(line + "/n")
count给出一个10倍的无限序列,sub用新零件替换旧零件
编辑:
刚刚注意到您需要不同的输出,相应地更改字符串:
import re
import itertools
counter = itertools.count(0, 10)
with open("input.txt", "r") as f_in:
with open("output.txt", "w") as f_out:
for line in f_in:
re.sub("t=0.000000", f"t={next(counter):.6f}", line.lower())
f_out.write(line + "/n")
因此,您希望包含t=0.00000的行是相同的,但将t=0.00000替换为time+=计数器,其中计数器增量为10?是的,该文件有2000多行t=0.000000。我想要的是,当代码找到第一个t=0.000000时,保留它,当找到第二个t=0.000000时,将其加上10,使其成为t=10.00000,依此类推。谢谢,我想是的,但没有什么无效的“t+={next(counter)}”看看我的编辑-第二个版本应该是你想要的。它将旧字符串替换为10的倍数,小数点后6位。@Ch.I请将其作为编辑添加到原始问题中,注释中的格式不太好。我明天会看的谢谢你的帮助