扫描目录树并生成xml。我尝试过很多事情,但都失败了。你知道吗
对于Ex XML文件结构。你知道吗
<dir name="dir_A">
<dir name="dir_AA">
<file name="abc.doc"/>
</dir>
<dir name="dir_BA">
<dir name="dir_BAA">
<file name="abc.doc"/>
</dir>
<file name="abc.doc"/>
</dir>
</dir>
我的代码,我尝试,但它不完整。我在开发过程中删除了一些代码,我现在没有,对不起。你知道吗
import xml.etree.ElementTree as ET
import os
class XMLOperations:
def list_files(self, startpath):
parent = None
prevLevel = None
xmlRoot = ET.Element("root")
xmlRoot.set('xml','http://www.google.com')
xmlRoot.set('xmlns','http://www.w3.org/1999/xlink')
directory = ET.Element("directory")
elementFile = ET.Element("file")
for root, dirs, files in os.walk(startpath):
level = root.replace(startpath, '').count(os.sep)
current = os.path.basename(root)
try:
dir_name = root.split(startpath+"/")[1]
except:
continue
depth = dir_name.count(os.sep)
fList = dir_name.split(os.sep)
if level == 0:
ET.SubElement(xmlRoot, directory, name = current)
else:
for tags in fList:
ET.SubElement(xmlRoot, directory)
if depth > 3:
break
#with open("output.xml",'w') as file:
# file.write(xmlRoot)
ET.dump(xmlRoot)
谢谢你。你知道吗
os.walk
获取根目录(当前目录)、当前目录的目录列表、文件列表当前目录。你知道吗os.walk
迭代目录结构xapth = "/dir[@name='dir_9']"
或xapth = "/dir[@name='dir_9']/dir[@name='dir_apache']"
dir
元素。你知道吗输入:
代码:
输出:
相关问题 更多 >
编程相关推荐