Python实现搜索并写入文件路径到指定文件的方法
106 浏览量
更新于2024-08-31
收藏 120KB PDF 举报
本文将详细介绍如何使用Python实现搜索指定盘符(例如D盘)上特定后缀(如.jpg, .png)文件,并将这些文件的绝对路径写入到用户指定的文件中。该方法首先定义了所需的库(os 和 time),并设置了几个关键变量,如指定的盘符(DESK)、待创建的信息保存文件(SAVE_FILE)以及要搜索的文件后缀列表(FILE_EXT)。
搜索文件的主要步骤如下:
1. **设置初始变量**:初始化空列表来存储找到的文件和文件夹,记录文件数量(FILES_NUMBER),符合条件的文件数量(RIGHT_FILES_NUMBER)和不符合条件的文件数量(NOT_RIGHT_FILES_NUMBER),以及文件夹数量(DIR_NUMBER)。
2. **定义辅助函数**:
- `listdir(dir_path)`:检查给定路径是否存在,如果存在则返回该路径下的所有文件和子目录;如果不存在,返回错误消息。
- `search_files(path, name)`:这个函数负责递归地搜索文件。它首先检查路径是否为文件或文件夹,如果是文件,增加文件计数器并返回True;如果是文件夹,则继续在其中查找符合要求的文件。
3. **主搜索逻辑**:
- 使用`os.walk()`遍历指定路径下的所有文件和子目录。
- 对于每个子目录,调用`search_files()`函数进行深度搜索。
- 检查每个找到的文件,如果其扩展名在FILE_EXT列表中,表示找到了符合条件的文件,将其绝对路径追加到结果列表my_files中,并更新RIGHT_FILES_NUMBER。
4. **处理文件写入**:
- 在写入文件之前,先确认目标文件(SAVE_FILE)是否存在,若不存在则使用`os.mknod()`创建一个新文件。
- 使用`with open(SAVE_FILE, 'a')`打开文件,以追加模式('a')写入找到的文件路径,每条记录之间用换行符分隔。
- 搜索结束后,更新NOT_RIGHT_FILES_NUMBER,记录未匹配后缀的文件数量。
5. **运行效果示例**:
- 文章没有提供具体的运行效果前半部分,但我们可以推测这部分可能展示了搜索开始时的命令行提示,或者对文件结构的预览。
- 后半部分可能会展示搜索完成后,保存文件的大小、包含的文件数量以及文件路径的具体内容。
6. **代码执行**:
- 调用`search_files(DESK, '')`开始搜索,空字符串表示从根目录开始搜索。
总结来说,这个Python脚本通过使用os模块提供的函数实现了在指定盘符下搜索指定后缀的文件,并将这些文件信息写入用户指定的文本文件中,确保文件不存在时会自动生成。这对于自动化文件管理或者批量记录文件信息非常有用。
2020-09-16 上传
2023-07-26 上传
2020-09-09 上传
2020-09-20 上传
2020-12-26 上传
2023-06-11 上传
2024-07-03 上传
2023-02-08 上传
2023-04-26 上传
weixin_38666300
- 粉丝: 5
- 资源: 931
最新资源
- SSM动力电池数据管理系统源码及数据库详解
- R语言桑基图绘制与SCI图输入文件代码分析
- Linux下Sakagari Hurricane翻译工作:cpktools的使用教程
- prettybench: 让 Go 基准测试结果更易读
- Python官方文档查询库,提升开发效率与时间节约
- 基于Django的Python就业系统毕设源码
- 高并发下的SpringBoot与Nginx+Redis会话共享解决方案
- 构建问答游戏:Node.js与Express.js实战教程
- MATLAB在旅行商问题中的应用与优化方法研究
- OMAPL138 DSP平台UPP接口编程实践
- 杰克逊维尔非营利地基工程的VMS项目介绍
- 宠物猫企业网站模板PHP源码下载
- 52简易计算器源码解析与下载指南
- 探索Node.js v6.2.1 - 事件驱动的高性能Web服务器环境
- 找回WinSCP密码的神器:winscppasswd工具介绍
- xctools:解析Xcode命令行工具输出的Ruby库