Я пытаюсь прочитать дерево каталогов, чтобы записать его в 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))
Все подкаталоги становятся "корневыми детьми":
<Project>
<Roman/>
<Cuisine/>
<Essais/>
<Science/>
<r20s/>
<r19s/>
<Amerique/>
<France/>
<Asie/>
<Religion/>
<Politique/>
<maths/>
<physique/>
</Project>
где Amerique, France, Asie должны быть подкаталогами кухни.
Спасибо за вашу помощь.
Jean-Patrick