Я немного работал с библиотекой xml.etree.ElementTree python, в основном играя с ним. Я заметил, однако, что python, похоже, загружает файл в память и редактирует его там, затем очищает и продолжает использовать неотредактированную версию. Например, если моя программа добавляет элемент в файл XML, а затем итерации через этот XML-файл, он не увидит добавление, которое было сделано ранее.Обновление файла в ElementTree Python
Вот сокращенный вариант моего кода:
для добавления в файл:
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