ディレクトリが与えられ、そのディレクトリ内のすべての.xmlファイルを含むxmlファイルを作成するPythonスクリプトを作成する必要があります。
たとえば、/tmp/に次のxmlファイルが含まれているとします。
beans.xml
cakes.xml
donuts.xml
次のxmlを作成するスクリプトを作成する方法を理解しようとしています。
<root>
<include file="/tmp/beans.xml"/>
<include file="/tmp/cakes.xml"/>
<include file="/tmp/donuts.xml/>
</root>
これは私がこれまでにまとめたものですが、毎回ファイルタグが上書きされるため、donuts.xmlのみが含まれます。
import lxml.etree
import lxml.builder
import glob
import os
E = lxml.builder.ElementMaker()
ROOT = E.root
DOC = E.include
os.chdir("/tmp/")
for f in glob.glob("*.xml"):
the_doc = ROOT(
DOC(file=f)
)
print lxml.etree.tostring(the_doc, pretty_print=True)
これは、現在の私のスクリプトの出力です。
<root>
<include file="/tmp/donuts.xml"/>
</root>
Beans.xmlおよびcakes.xmlフォームを上書きしておくにはどうすればよいですか?