Python怎么实现递归遍历文件夹搜索文件
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"Python怎么实现递归遍历文件夹搜索文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么实现递归遍历文件夹搜索文件"吧!
千家信息网最后更新 2025年01月19日Python怎么实现递归遍历文件夹搜索文件
本篇内容主要讲解"Python怎么实现递归遍历文件夹搜索文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python怎么实现递归遍历文件夹搜索文件"吧!
开发背景:
电脑的E盘里有很多电子书,以前对个技术比较感兴趣就去下载很多电子书,有些看了,有些没看,这些电子书没有在一个地方,于是我准备写一个脚本,将这个电子书书搜索出来,进行整理一下。
程序设计的思路:
定义一个搜索的根目录baseDir,一个不搜索的文件夹列表notSearhFolderArr,一个搜索的文件类型列表searchTypeArr,
判断根目录baseDir是有效的,并且不存在于notSearhFolderArr数组中,
获取文件夹下的所有文件及文件夹,
遍历,判断子元素是文件就,判断文件类型是否存在于searchTypeArr,如果存在返回路径
判断子元素,是文件夹并且不属于notSearhFolderArr数组中, 执行第一步,进行递归搜索
代码:
# 根据配置好的文件,搜索文件夹import osimport ioimport syssys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')# 主函数baseDir = "E:\\Pang\\for_search" # 搜索的根目录notSearchFolderArr = ['node_modules'] # 不搜索的目录searchFileTypeArr = ['.pdf','.PDF'] # 搜索的文件类型def searhMain(): allResArr = searchFolder(baseDir) print('\n'.join(allResArr))# 搜索一个文件目录 传入一个文件目录路径def searchFolder(folderPath): folderName = os.path.split(folderPath)[-1] searFilePathArr = [] if os.path.exists(folderPath) and (folderName not in notSearchFolderArr): fileArr = os.listdir(folderPath) for item in fileArr: currentPath = folderPath+'\\'+item (fileName,fileType) = os.path.splitext(item) if os.path.isfile(currentPath) and (fileType in searchFileTypeArr): searFilePathArr.append(currentPath) if os.path.isdir(currentPath) and (item not in notSearchFolderArr): innerFileArr = searchFolder(currentPath) searFilePathArr.extend(innerFileArr) return searFilePathArrsearhMain()
主要用到的模块和api:
模块 os: 操作文件的模块
主要api:
os.path.split : 分割路径os.path.exists: 路径是否存在os.listdir: 路径是否是文件夹os.path.splitext:拆分路径中的文件扩展名于其他os.path.isfile: 路径是否是文件append: 向数组中追加一个元素extend: 向数组追加一个数组
运行结果:
程序返回的事根目录下所有的pdf文件路径列表
这个脚本稍作修改就可以查询多个文件类型,对文件进行分类,获取要查询的文件路径后,还可以对文件,进行批量备份到一个文件夹下,或者将搜索结果直接打包压缩。现在怎么玩都可以。
到此,相信大家对"Python怎么实现递归遍历文件夹搜索文件"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文件
搜索
文件夹
路径
数组
递归
根目录
电子
电子书
类型
元素
模块
目录
查询
兴趣
内容
程序
结果
脚本
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库中指定主键
csgo没有安全服务器
酷牛网络服务器管理系统
资产信息数据库建立
大家都怎么看待网络安全
网络安全绩效指标
软件开发公司的文案
穿越火线服务器数量变化
方舟海贼服务器是什么意思
网络安全问答知识竞赛答案
乌镇互联网大会的科技
全世界网络安全排名大学
盛世网络技术
r 64位 打开数据库
华为网络技术入门篇
服务器设备管理器命令
hp 服务器 ssd硬盘
拼多多店铺显示服务器有点问题
关于数据库安全问题的论文
餐饮软件开发机构
存储服务器数据流
数据库中约束条件格式
vs数据库连接语句
数据库系统设计六个
讲述网络安全的作文
河北网络安全周
软件开发怎么套 定额
新加坡网络安全研究室开幕
软件开发类招投标
怎么清理旧笔记本里有数据库