Python 3.x 用计数时间替换t=0.000000

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:

我用这个代码用一个计数器(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:
        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请将其作为编辑添加到原始问题中,注释中的格式不太好。我明天会看的谢谢你的帮助