我试图运行python程序多次打开模板,并在循环运行时,将txt模板的多个副本保存在不同的文件名下。
下面包括一个示例问题:示例模板采用以下形式:
Null Null
Null
This is the test
But there is still more text.
我进行快速编辑的代码如下:
longStr = (r"C:\Users\jrwaller\Documents\Automated Eve\NewTest.txt")
import fileinput
for line in fileinput.FileInput(longStr,inplace=1):
if "This" in line:
line=line.replace(line,line+"added\n")
print(line, end='')
代码的输出正确地将新行“添加”添加到文本文件:
Null Null
Null
This is the test
added
But there is still more text.
但是,我想将此新文本另存为新文件名,说“ New Test Edited”,同时保持旧txt文件的副本可用于进一步编辑。
答案 0 :(得分:1)
这是一个适合您的示例:
longStr = (r"C:\Users\jrwaller\Documents\Automated Eve\NewTest.txt")
with open(longStr) as old_file:
with open(r"C:\Users\jrwaller\Documents\Automated Eve\NewTestEdited.txt", "w") as new_file:
for line in old_file:
if "This" in line:
line=line.replace(line,line+"added\n")
new_file.write(line)
使用上下文管理器进行简单的文件读写操作即可在完成后关闭。