我在使用Python生成html文檔時遇到了一些問題。我正在嘗試創建一個目錄樹的HTML列表。這是我到目前爲止有:如何使用Python生成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,但我對模板很缺乏經驗,所以我可能會錯過一些東西。
[燒瓶-自動變址(http://packages.python.org/Flask-AutoIndex/) – jfs