在Python中生成HTML目录树

时间:2016-12-13 04:48:52

标签: python html tree directory

有没有人知道我可以将目录路径转换为树的方法如下(使用Python 2.7)......

<div>
    <p class="toggle">item one</p>
    <div class="child">

        <p>contained</p>

        <p class="toggle">item</p>
        <div class="child" hidden="true">
            <p>inner</p>
        </div>

        <p class="toggle">item</p>
        <div class="child" hidden="true">
            <p>inner</p>

            <p class="toggle">wow</p>
            <div class="child" hidden="true">
                <p>waaay down</p>
                <p>somefile.py</p>
            </div>

        </div>

        <p class="toggle">item</p>
        <div class="child" hidden="true">
            <p>inner</p>
        </div>

    </div>
</div>

修改 创建上述输出的目录看起来像这样......

item one
-contained
-item
--inner
-item
--inner
--wow
---waaay down
---somefile.py
-item
--inner

目录需要进行&#34;切换&#34; class,后跟一个包含该目录内容的div。

如果有人能搞清楚这一点,那就太好了,谢谢!我已经试图解决这个问题多年了。

1 个答案:

答案 0 :(得分:1)

所以......我明白了!递归函数就是答案。代码在

之下
def generate_tree(path, html=""):
    for file in os.listdir(path):
        rel = path + "/" + file
        if os.path.isdir(rel):
            html += "<p class='toggle'>%s</p><div class='child' hidden='true'>" % (file)
            html += generate_tree(rel)
            html += "</div>"
        else:
            html += "<p>%s</p>" % (file)
    return html