Ich habe einige Probleme mit Python, um ein HTML-Dokument zu generieren. Ich versuche, eine HTML-Liste einer Verzeichnisstruktur zu erstellen. Das ist, was ich habe, so weit:Wie erstelle ich eine HTML-Verzeichnisliste mit Python
def list_files(startpath):
for root, dirs, files in os.walk(startpath):
level = root.replace(startpath, '').count(os.sep)
if level <= 1:
print('<li>{}<ul>'.format(os.path.basename(root)))
else:
print('<li>{}'.format(os.path.basename(root)))
for f in files:
last_file = len(files)-1
if f == files[last_file]:
print('<li>{}</li></ul>'.format(f))
elif f == files[0] and level-1 > 0:
print('<ul><li>{}</li>'.format(f))
else:
print('<li>{}</li>'.format(f))
print('</li></ul>')
Es scheint gut zu funktionieren, wenn es nur das Root-Verzeichnis ist, eine Ebene der Unterverzeichnisse und Dateien. Das Hinzufügen einer anderen Ebene von Unterverzeichnissen führt jedoch zu Problemen (weil das Schließen-Tag am Ende meiner Meinung nach nicht genug eingegeben wird). Aber es fällt mir schwer, mich darum zu kümmern.
Wenn es auf diese Weise nicht möglich ist, gibt es einen einfacheren Weg? Ich benutze Flask, aber ich bin sehr unerfahren mit Vorlagen, vielleicht verpasse ich etwas.
[Kolben-Autoindex] (http://packages.python.org/Flask-AutoIndex/) – jfs