Python 如何编写多个文件,每个文件中的文本都会发生变化

Python 如何编写多个文件,每个文件中的文本都会发生变化,python,loops,Python,Loops,我有一个speck文件(可以像txt一样编辑)的格式 我需要做的是创建“n”个文件,每个文件名为rot_“n”.speck,文件中唯一的更改是将rot_0001.sgi更改为rot_00“n”.sgi。我知道可能一个非常简单的python循环可以执行此操作。但我不知道它将采取什么形式。你能帮忙吗?你说得对,你可以使用FOR循环来完成这项任务。我使用以下代码编写了4个名为rot\n.spek的文件。我使用了您上面介绍的文件来创建这些文件 import re for j in range(4):

我有一个speck文件(可以像txt一样编辑)的格式


我需要做的是创建“n”个文件,每个文件名为rot_“n”.speck,文件中唯一的更改是将rot_0001.sgi更改为rot_00“n”.sgi。我知道可能一个非常简单的python循环可以执行此操作。但我不知道它将采取什么形式。你能帮忙吗?

你说得对,你可以使用FOR循环来完成这项任务。我使用以下代码编写了4个名为
rot\n.spek
的文件。我使用了您上面介绍的文件来创建这些文件

import re

for j in range(4):
    file_name = "rot_{:04d}.spek".format(j)
    with open(file_name, 'w+') as new_file:
        with open('simple.txt', 'r') as old_file:
                for line in old_file:
                    new_file.write(re.sub(r"24_rot_\d+.sgi",
                    "24_rot_00{:04d}.sgi".format(j), line ) )
如果因为每次都在读取同一个文件,您也可以使用

我觉得这很有帮助

我会使用
“rot{:04d}.spek”.format(j)
new_file.write(re.sub(r“24_rot{:04d}.sgi”,“24_rot{:04d}.format(j),line))
。您也可以只打开输入文件一次,或者在每次编写新文件时将其倒带,或者只整体读取一次。
import re

for j in range(4):
    file_name = "rot_{:04d}.spek".format(j)
    with open(file_name, 'w+') as new_file:
        with open('simple.txt', 'r') as old_file:
                for line in old_file:
                    new_file.write(re.sub(r"24_rot_\d+.sgi",
                    "24_rot_00{:04d}.sgi".format(j), line ) )
new_file.write(line.replace("24_rot_0001.sgi", "24_rot_{:04d}.sgi".format(j)))