我有一个主文件(虚拟文件),它指向两个XML文件(TestFile1和TestFile2)。每个文件(TestFile1和TestFile2)都包含多个xml文件。我正在尝试生成新的单个xml文件(NewFile1,NewFile2,NewFile3,NewFile4)
DummyFile.txt的内容
C:/Python27/TestFile1.xml
C:/Python27/TestFile2.xml
TestFile1.xml的内容:
STLD 20190717 1234 67889056 826 123 L <TLD logVersion= "1.0"></TLD>
STLD 20190717 1234 67889056 826 124 L <TLD logVersion= "1.0"></TLD>
TestFile2.xml的内容:
STLD 20190717 1234 67889056 826 125 L <TLD logVersion= "1.0"></TLD>
STLD 20190717 1234 67889056 826 126 L <TLD logVersion= "1.0"></TLD>
下面是我尝试过的python代码:
filepath = 'C:/Python27/DummyFile.txt'
with open(filepath) as fp:
for j in fp:
with open(j.rstrip()) as f1:
#f1 = open(j.rstrip(),"r")
Lines=f1.readlines()
cnt=1
for i in Lines:
f2=open("NewFile"+str(cnt)+".txt","w")
f2.write(i)
cnt=cnt+1
#f1.close()
f2.close()
已生成的NewFile1的内容:
STLD 20190717 1234 67889056 826 125 L <TLD logVersion= "1.0"></TLD>
已生成的NewFile2的内容:
20190717 1234 67889056 826 126 L <TLD logVersion= "1.0"></TLD>
使用上述实现,我只能使用TestFile2的内容生成NewFile1&NewFile2。它没有填充TestFile1的内容。
答案 0 :(得分:0)
您正在为cnt
和TestFile1.xml
使用相同的TestFile2.xml
值。
因此,您将为其生成相同的输出文件(后者的输出将覆盖第一个文件)。
您可以:
cnt
初始化移至for
循环之外f2=open("NewFile"+<unique string>+str(cnt)+".txt","w")
这样的文件名时添加唯一的字符串。