我想讀一個目錄樹將它寫在一個XML文件,而無需太多sucess:與蟒蛇LXML一個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))
所有子目錄成爲「根的chidren」:
<Project>
<Roman/>
<Cuisine/>
<Essais/>
<Science/>
<r20s/>
<r19s/>
<Amerique/>
<France/>
<Asie/>
<Religion/>
<Politique/>
<maths/>
<physique/>
</Project>
在哪裏,法國阿美里克,應該是亞洲烹飪的傳統。
謝謝你的幫助。 讓 - 帕特里克
正如一個音符,有效的文件夾名稱和有效的XML標籤名稱是不一樣的 - 「4」是一個有效的文件夾名稱,但XML標籤不能啓動用一個數字,標點或'xml'或空格開頭也是一樣。可能需要考慮。 – 2012-02-05 20:39:03