当前位置: 首页 > news >正文

html 中写目录列表,如何使用Python生成html目录列表

您可以将目录树的生成和呈现分离为html。

要生成树,可以使用一个简单的递归函数:def make_tree(path):

tree = dict(name=os.path.basename(path), children=[])

try: lst = os.listdir(path)

except OSError:

pass #ignore errors

else:

for name in lst:

fn = os.path.join(path, name)

if os.path.isdir(fn):

tree['children'].append(make_tree(fn))

else:

tree['children'].append(dict(name=name))

return tree

要将其呈现为html,可以使用jinja2的循环recursive功能:

Path: {{ tree.name }}

{{ tree.name }}

{%- for item in tree.children recursive %}

{{ item.name }}

{%- if item.children -%}

  • {{ loop(item.children) }}

{%- endif %}

{%- endfor %}

将html放入templates/dirtree.html文件中。

要测试它,请运行以下代码并访问http://localhost:8888/:import os

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')

def dirtree():

path = os.path.expanduser(u'~')

return render_template('dirtree.html', tree=make_tree(path))

if __name__=="__main__":

app.run(host='localhost', port=8888, debug=True)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 计算机专业学渣面试,感觉读了计算机专业真的是一条不归路
  • 平生事,此时凝睇,谁会凭栏意!(2)
  • html 根作用域,AngularJS Scope(作用域)
  • html无法引入less样式,@import less样式文件 只有css样式生效, less样式却不生效
  • 平生事,此时凝睇,谁会凭栏意!(3)
  • lol提示游戏环境异常重启计算机,出现LOL游戏环境异常请重启机器怎么解决?
  • HOW TO:如何在 Windows Server 2003 中配置 IPSec 隧道
  • html如何制作艺术字体,影视动画制作软件怎么制作多彩立体字 艺术字体制作软件 字体渐变效果...
  • 计算机学硕很难考吗,计算机考研有多难
  • 平生事,此时凝睇,谁会凭栏意!(4)
  • 计算机如何更改用户名的背景,win7系统如何修改电脑登录界面|win7更换登录界面背景的方法...
  • 平生事,此时凝睇,谁会凭栏意!(5)
  • 禁止用户关闭计算机,笔记本win7系统在未登录情况下如何禁止关闭计算机
  • 春考计算机应用本科哪所大学好,山东春考2021可以考哪些本科学校
  • MD5算法研究
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【附node操作实例】redis简明入门系列—字符串类型
  • ECMAScript入门(七)--Module语法
  • flask接收请求并推入栈
  • Js基础知识(四) - js运行原理与机制
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • nodejs实现webservice问题总结
  • Python进阶细节
  • vue自定义指令实现v-tap插件
  • 官方新出的 Kotlin 扩展库 KTX,到底帮你干了什么?
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 少走弯路,给Java 1~5 年程序员的建议
  • zabbix3.2监控linux磁盘IO
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • #13 yum、编译安装与sed命令的使用
  • #QT项目实战(天气预报)
  • #stm32驱动外设模块总结w5500模块
  • $(function(){})与(function($){....})(jQuery)的区别
  • (1)Android开发优化---------UI优化
  • (2024,Vision-LSTM,ViL,xLSTM,ViT,ViM,双向扫描)xLSTM 作为通用视觉骨干
  • (23)Linux的软硬连接
  • (6)STL算法之转换
  • (poj1.2.1)1970(筛选法模拟)
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)计算机毕业设计高校学生选课系统
  • (九)信息融合方式简介
  • (全注解开发)学习Spring-MVC的第三天
  • (三) diretfbrc详解
  • (小白学Java)Java简介和基本配置
  • (一)Dubbo快速入门、介绍、使用
  • (一)RocketMQ初步认识
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)大道至简,职场上做人做事做管理
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包