繁体   English   中英

在不编写新文件的情况下修改Python文件对象

[英]Modifying a Python file object without writing a new file

我希望能够在xml文件对象的开头和结尾添加一行,然后用ElementTree解析该对象。

我可以读取文件,然后用新的行写回文件,然后读回并解析它,但是重新读取文件似乎很愚蠢。

是否可以就地修改此文件对象?

您是否注意到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...   

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM