Python 如何编写多个文件,每个文件中的文本都会发生变化
我有一个speck文件(可以像txt一样编辑)的格式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):
我需要做的是创建“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)))