我正在尝试读取目录树以将其写入 xml 文件而没有太多成功:
# -*- coding: utf-8 -*-
"""
Created on Tue Jan 31 13:30:22 2012
@author: Jean-Patrick Pommier
"""
import lxml.etree as et
import os
''''
Lire l'arboresence d'un répertoire projet
P
/ | \
A B C
/ |\ |\ |\
a b ca b c e
Stocker dans un fichier xml
<P>
<A>
<a>
<b>
<c>
</A>
<B>
<a>
<b>
</B>
<C>
<c>
<e>
</C>
</P>
'''
def makeNodes(parentxml,leveldirlist):
#print 'parent',parentxml
print 'chidren',leveldirlist
for d in leveldirlist:
child=et.Element(d)
parentxml.append(child)
if __name__ == '__main__':
topdir='/home/claire/Applications/ProjetPython/testxml/biblio'
projetxml=et.Element('Project')#racine
parent=projetxml
for roots, dirs, files in os.walk(topdir):
print roots#, '*',dirs, '*',files,'\n'
makeNodes(parent,dirs)
print(et.tostring(projetxml,pretty_print=True))
所有的子目录都变成了“root 的孩子”:
<Project>
<Roman/>
<Cuisine/>
<Essais/>
<Science/>
<r20s/>
<r19s/>
<Amerique/>
<France/>
<Asie/>
<Religion/>
<Politique/>
<maths/>
<physique/>
</Project>
其中 Amerique, France, Asie 应该是美食的子目录。
谢谢您的帮助。让-帕特里克