У меня возникают проблемы с использованием Python для создания html-документа. Я пытаюсь создать список HTML дерева каталогов. Это то, что у меня есть до сих пор:
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>')
Кажется, что это хорошо работает, если есть только корневой каталог, один уровень подкаталогов и файлов. Однако добавление другого уровня подкаталогов вызывает проблемы (поскольку тег закрытия не вводится достаточно времени в конце, я думаю). Но я с трудом обнимаю его.
Если это невозможно сделать, есть ли более простой способ сделать это? Я использую Flask, но я очень неопытен с шаблонами, поэтому, возможно, я что-то пропустил.