等待xml文件写入在python中完成

时间:2014-02-24 12:55:32

标签: python xml python-2.7 lxml

我编写了这个脚本来将数据写入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可以是更多的代码,因此编写需要时间。有些遗体让我知道怎么做。

1 个答案:

答案 0 :(得分:1)

Python File write() Method

  

方法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)