我一直在使用python的xml.etree.ElementTree庫一點點,主要是玩弄它。然而,我注意到,python似乎將文件加載到內存中並在那裏編輯它,然後刷新它,並繼續使用未編輯的版本。例如,如果我的程序將一個元素添加到XML文件中,然後遍歷該XML文件,它將不會看到它之前添加的內容。刷新Python的ElementTree中的文件
這裏是我的代碼的精簡版本:
添加到文件:
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。
我已經看到[這](HTTP:/ /stackoverflow.com/questions/27829575/python-refresh-file-from-disk),但它似乎並不適用。 – prongs95