我编写了这个脚本来将数据写入xml文件。它正确写入,但我想等待在xml文件中完成写入然后我将执行另一个代码。这意味着另一个代码依赖于xml数据写入。
那么如何等待在xml文件中完成数据写入。
import xml.etree.ElementTree as ET
tree = ET.parse('output.xml')
root = tree.getroot()
for country in root('country'):
root.attrib['value']=data
tree.write('output.xml')
上面的代码是示例代码,data
可以是更多的代码,因此编写需要时间。有些遗体让我知道怎么做。
答案 0 :(得分:1)
方法write()将字符串str写入文件。没有回报 值。由于缓冲,字符串可能实际上不会出现在 文件,直到调用flush()或close()方法。
因此,如果您不想在写入后关闭文件(以便其他功能可以打开并阅读),您可以将
tree.flush() # does not work because no flush method in ElementTree
写完后立即。
我看到手册显示写入文件名而不是文件描述符。但是,这似乎是以交互模式完成的。
如果脚本可以处理文件描述符,那么文件描述符上的flush()或close()方法将非常有用。
其他地方显示的示例给出了使用文件描述符写入文件的示例。这将打开和关闭文件以及允许刷新。确切的方法由你决定(: - )
text = ET.tostring(reply)
self.wfile.write(text)