python遍历目录文件_结合vue获取所有的html文件并且展示

简介: python遍历目录文件_结合vue获取所有的html文件并且展示

前言

大家好,我是yma16,

listdir、isdir函数使用

在Python中,os模块中的listdir和isdir函数用于操作文件和目录。

listdir函数返回指定路径下的所有文件和目录的列表。

示例代码:

import os
path = '/path/to/directory'
dir_list = os.listdir(path)
print(dir_list)

isdir函数判断指定路径是否为一个目录。

示例代码:

import os
path = '/path/to/directory'
is_dir = os.path.isdir(path)
if is_dir:
    print(path, 'is a directory')
else:
    print(path, 'is not a directory')

listdir

返回目录下一级文件夹或则文件的数组对象

isdir

判断是否为目录,否则为文件,返回true或false

提取html文件的路径和html文件名的名字

思路:遍历目录下的所有路径,遇到目录递归返回函数继续执行,否者判断为文件,当获得文件时,需要判断其后缀是否为html,所以使用到endswith函数

# 读取路径 传入三个参数 分别 路径、路径保存变量、文件名保存变量
def traverse(f,temp,title):
    try:
        fs = os.listdir(f)
        for f1 in fs:
            tmp_path = os.path.join(f, f1)
            if not os.path.isdir(tmp_path):
                print('文件名: %s' % f1)
                print('文件: %s' % tmp_path)
                s=str(f1)
                if  s.endswith('html'):#
                    #路径处理
                    s_path=str(tmp_path)
                    print('原始',s_path)
                    s_get=s_path.replace('\\','/')
                    print('替换\\',s_path,s_get)
                    s_get=s_get[1:]
                    print('切片',s_get)
                    temp.append(s_get)
                    #标题处理
                    #切片
                    t=s[:len(s)-5]
                    print(t)
                    title.append(t)
            else:
                print('文件夹:%s' % tmp_path)
                traverse(tmp_path,temp,title)
                # 递归
    except Exception as e:
        print(e)
    finally:
        return temp

django的视图函数

返回json数据类型

from django.http import JsonResponse#json
import os
def html_path(request):
    path_data=[]# 路径
    title_data = []  # 标题
    path = './static/Csslearn'
    p_data=traverse(path,path_data,title_data)#路径、标题处理
    data={
        'code':1,'path':p_data,'title':title_data
    }
    return JsonResponse(data)
# 读取路径
def traverse(f,temp,title):
    try:
        fs = os.listdir(f)
        for f1 in fs:
            tmp_path = os.path.join(f, f1)
            if not os.path.isdir(tmp_path):
                print('文件名: %s' % f1)
                print('文件: %s' % tmp_path)
                s=str(f1)
                if  s.endswith('html'):#
                    #路径处理
                    s_path=str(tmp_path)
                    print('原始',s_path)
                    s_get=s_path.replace('\\','/')
                    print('替换\\',s_path,s_get)
                    s_get=s_get[1:]
                    print('切片',s_get)
                    temp.append(s_get)
                    #标题处理
                    #切片
                    t=s[:len(s)-5]
                    print(t)
                    title.append(t)
            else:
                print('文件夹:%s' % tmp_path)
                traverse(tmp_path,temp,title)
                # 递归
    except Exception as e:
        print(e)
    finally:
        return temp

vue2的处理

axios发送get请求

axios发送请求给django,得到关于html的json数据格式

data() {
    return {
      msg: "css练习:",
      css_length: "",
      baseurl: "http://127.0.0.1:1998",
      css_title: [],
      css_path: [],
      ifreame_content: "",
      look_i:'浏览:',
      now_title:'',
    };
  },
  methods: {
    get_ifreame: function (index) {
      let that = this; //that
      that.ifreame_content = that.css_path[index];//路径
      that.now_title=index+1+'. '+that.css_title[index];//标题
    },
    getCss: function () {
      let that = this;
      axios
        .get(that.baseurl + "/css/")
        .then((res) => {
          console.log("get返回", res);
          let getdata = res.data;
          let css_path = getdata.path;
          let css_title = getdata.title;
          console.log(css_path, css_title);
          // 路径处理
          css_path.map((o) => {
            let temp = that.baseurl + o;
            that.css_path.push(temp);
          });
          // 标题传递
          that.css_title = css_title;
          console.log(that.css_path, that.css_title);
          // 传递第一个路html路径
          that.ifreame_content = that.css_path[0];
          // 传递长度
          that.css_length = css_title.length;
          that.now_title=css_title.length>0? 1+'. '+css_title[0]:'';//标题加序号
        })
        .catch((error) => {
          console.log("get错误!", error);
        });
    },
  },

绑定src属性

ifreame 绑定src参数即可

<!-- 绑定src参数 -->
<iframe v-bind:src="ifreame_content"></iframe>

效果

查看

结束

本文分享到这结束,如有错误或者不足之处欢迎指出,感谢大家的阅读!

目录
相关文章
|
14天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
35 7
|
2月前
|
JavaScript 前端开发 安全
vue -- 指令 -- v-text/html/on/show/if/bind/for/model
【10月更文挑战第17天】Vue 指令是构建 Vue 应用的基础工具,掌握它们的特性和用法是成为一名优秀 Vue 开发者的重要一步。通过深入理解和熟练运用这些指令,可以打造出更加出色的前端应用。
81 50
|
29天前
|
XML 数据采集 数据格式
Python 爬虫必备杀器,xpath 解析 HTML
【11月更文挑战第17天】XPath 是一种用于在 XML 和 HTML 文档中定位节点的语言,通过路径表达式选取节点或节点集。它不仅适用于 XML,也广泛应用于 HTML 解析。基本语法包括标签名、属性、层级关系等的选择,如 `//p` 选择所有段落标签,`//a[@href=&#39;example.com&#39;]` 选择特定链接。在 Python 中,常用 lxml 库结合 XPath 进行网页数据抓取,支持高效解析与复杂信息提取。高级技巧涵盖轴的使用和函数应用,如 `contains()` 用于模糊匹配。
|
1月前
|
算法 定位技术 Python
震惊!Python 图结构竟然可以这样玩?DFS&BFS 遍历技巧大公开
在 Python 编程中,图是一种重要的数据结构,而深度优先搜索(DFS)和广度优先搜索(BFS)是遍历图的两种关键算法。本文将通过定义图的数据结构、实现 DFS 和 BFS 算法,并通过具体示例展示其应用,帮助读者深入理解这两种算法。DFS 适用于寻找路径和检查图连通性,而 BFS 适用于寻找最短路径。掌握这些技巧,可以更高效地解决与图相关的复杂问题。
29 2
|
2月前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
1月前
|
Python
不容错过!Python中图的精妙表示与高效遍历策略,提升你的编程艺术感
本文介绍了Python中图的表示方法及遍历策略。图可通过邻接表或邻接矩阵表示,前者节省空间适合稀疏图,后者便于检查连接但占用更多空间。文章详细展示了邻接表和邻接矩阵的实现,并讲解了深度优先搜索(DFS)和广度优先搜索(BFS)的遍历方法,帮助读者掌握图的基本操作和应用技巧。
39 4
|
23天前
|
机器学习/深度学习 前端开发 数据处理
利用Python将Excel快速转换成HTML
本文介绍如何使用Python将Excel文件快速转换成HTML格式,以便在网页上展示或进行进一步的数据处理。通过pandas库,你可以轻松读取Excel文件并将其转换为HTML表格,最后保存为HTML文件。文中提供了详细的代码示例和注意事项,帮助你顺利完成这一任务。
35 0
|
1月前
|
算法 Python
Python图论探索:从理论到实践,DFS与BFS遍历技巧让你秒变技术大牛
图论在数据结构与算法中占据重要地位,应用广泛。本文通过Python代码实现深度优先搜索(DFS)和广度优先搜索(BFS),帮助读者掌握图的遍历技巧。DFS沿路径深入搜索,BFS逐层向外扩展,两者各具优势。掌握这些技巧,为解决复杂问题打下坚实基础。
37 2
|
1月前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
61 2
|
1月前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。