は、ここで私はこれまで持っているものです:ディレクトリツリーをHTMLとして出力するには?
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))
基本的に私はHTMLの木など、すべてのXMLファイルを使用して、私のプロジェクトのディレクトリ構造を吐き出すている何をしたいのか(使用<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>')
これは私のディレクトリとそれらの下のすべてのファイルのリストが表示されますが、私はまだそれはあまりにもネストされていますように、ディレクトリ・パスを分割する方法を見つけ出すことはできません。