我希望能够在开头添加一行,在xml文件对象的末尾添加一行,然后使用ElementTree解析该对象。
我可以读取该文件,然后使用新行将文件写回,然后将其读回并解析它,但重新读取文件似乎很蠢。
是否可以在适当的位置修改此文件对象?
答案 0 :(得分:2)
您是否注意到ElementTree.ElementTree
还有fromstring()
方法?
lines = open("/path/to/file.xml").readlines()
lines.insert(0, "<something>")
lines.append("</something>")
xml = "".join(lines)
tree = ElementTree.fromstring(xml)
或者(对大文件更有效 - 感谢chepner):
with open("/path/to/file.xml") as source:
xml = "".join(itertools.chain(["<something>"], source, ["</something>"]))
# etc...