我是 Python 新手(通常是编程)。为了使工作项目更容易,我正在尝试编写一些代码来搜索 XML 文件中的某些标签并将内容复制到第二个文件中。我需要读取的文件大约是 165MB,并且将有成千上万的条目要提取。
我已经成功地使它适用于小文件(从论坛上的示例代码工作,例如这个),但它在一定大小之上分崩离析(它开始复制大部分 XML,而不仅仅是所需的字符串)。我想这是因为我如何定义我的变量。
有人可以给我一个指针或示例代码来解决这个问题吗?我很惊讶它的工作原理!
这是我现在的代码:
text = open("UPC_Small.xml", "r")
lines = text.read()
fo = open("output.log", "wt")
crid1 = 0
while True:
crid1 = lines.find('<ProgramInformation programId="crid://bds.tv/',crid1)
crid2 = lines.find('">',crid1)
crid_string = (lines[crid1+45:crid2])
if crid1 == -1:
fo.write("End of File")
fo.close()
break
title1 = lines.find('<Title xml:lang="EN" type="main">',crid2)
title2 = lines.find('</Title>',title1)
title_string = (lines[title1+33:title2])
genre1 = lines.find('<Name xml:lang="EN">',title2)
genre2 = lines.find('</Name>',genre1)
genre_string = (lines[genre1+20:genre2])
fo.write(crid_string + "|" + title_string + "|" + genre_string + "\n")