【发布时间】:2011-11-16 09:04:54
【问题描述】:
这是我目前所得到的:
project_dir = '/my/project/dir'
project_depth = len(project_dir.split(os.path.sep))
xml_files = []
for dirpath, dirnames, filenames in os.walk(project_dir):
for filename in fnmatch.filter(filenames, '*.xml'):
dirs = dirpath.split(os.path.sep)[project_depth:]
print(dirs)
xml_files.append(os.path.join(dirpath,filename))
基本上我想做的是将我的项目目录结构与所有 XML 文件作为 HTML 树(使用<ul>)。我可以通过这种方式获取所有文件,但我似乎无法弄清楚如何将它们组织成一棵树。
以 os.walk 的工作方式,我不知道我什么时候进入了更深的级别,或者我是否仍在遍历同一个目录。
for dirpath, dirnames, filenames in os.walk(project_dir):
xml_files = fnmatch.filter(filenames, '*.xml')
if len(xml_files) > 0:
out.write('<li>{0}<ul>'.format(dirpath))
for f in xml_files:
out.write('<li>{0}</li>'.format(f))
out.write('</ul></li>')
out.write('</ul>')
这给了我一个目录列表和它们下面的所有文件,但我仍然不知道如何拆分目录路径以便它也嵌套。
【问题讨论】:
标签: python file filesystems operating-system directory