【发布时间】:2016-12-01 00:27:25
【问题描述】:
我一直在使用 python 的 xml.etree.ElementTree 库,主要是在玩它。但是,我注意到 python 似乎将文件加载到内存中并在那里编辑它,然后刷新它,并继续使用未编辑的版本。 例如,如果我的程序将一个元素添加到一个 XML 文件,然后遍历该 XML 文件,它将看不到它之前所做的添加。
这是我的代码的精简版:
用于添加到文件中:
import xml.etree.ElementTree as ET
tree = et.parse("file.xml")
root = tree.getroot()
newel = ET.Element("element", tag=foo, )
newel.text = bar
root.append(newel)
tree.write("file.xml")
for child in root:
if child.get("tag") == foo:
print(child.text)
我是不是做错了什么,或者什么是“刷新”程序中的 XML 文件的好方法,所以当我使用 for 循环遍历程序时,我可以看到我的新元素?
我正在使用 python 3.5。
【问题讨论】:
-
我见过this,但似乎不适用。
标签: python xml python-3.x elementtree