[ python应用 ] python递归搜索文件,支持搜索多个文件,支持自定义处理动作
时间:2020-04-20
本文章向大家介绍[ python应用 ] python递归搜索文件,支持搜索多个文件,支持自定义处理动作,主要包括[ python应用 ] python递归搜索文件,支持搜索多个文件,支持自定义处理动作使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PATH = r'E:\MyDocument\xxx' # 要搜索的目录地址 TARGET_PATH = r'E:\MyDocument\新しいフォルダー\1' # 把搜索结果复制到目的地址 NAME_PATH = r'1.txt' # 要读取的文件(同时搜索多个) NAME = '' # 搜索一个 NAMES = [] # 自定义搜索,如果填写了这个字段,则忽略从文件加载 READ_FROM_FILE = 0 #是否开启从文件加载 import os from shutil import copyfile class Search(): def __init__(self): self.names = [] self.func = None self.once = True def __core(self,path,name): files = os.listdir(path) for file in files: if os.path.isdir(os.path.join(path,file)): self.__core( os.path.join( path,file),name) elif name in file: self.func(os.path.join(path,file)) if self.once:return def searchName(self,path,name,func,once=True): self.func = func self.once = once self.__core(path,name) def searchNames(self,path,names,func,once=True): if not len(names): print("names error.") return self.names = names self.func = func self.once = once for name in names: self.__core(path,name) def func(path): name = path.split('\\') tar = os.path.join(TARGET_PATH,name[-1]) copyfile(path,tar) def main(): s = Search() # s.searchName(PATH,NAME,func,False) if not len(NAMES) and READ_FROM_FILE: with open(NAME_PATH,'r',encoding='utf-8') as f: for line in f: NAMES.append(line.strip('\n')) s.searchNames(PATH,NAMES,func,False) main()
原文地址:https://www.cnblogs.com/remly/p/12738411.html
- Hadoop伪分布式集群安装部署
- sql 表有没有自增列,插入自增列值
- jsp中的JSTL与EL表达式用法及区别(二)
- WPF 给控件添加复制事作
- wpf RoutedUICommand 绑定
- jsp中的JSTL与EL表达式用法及区别(一)
- java线程池模型
- lock小记
- HTML布局的基本要点
- Building a Middle Tier Component using NHibernate and Spring.NET
- Linq 和DefaultView两种方法去掉DataTable 里的重复行
- MySQL事务autocommit自动提交
- wcf webHttpBinding Post 大数据量提交 ios c#客户端
- 你现在还在手动生成set,get方法吗?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- slenium模拟登陆知乎2020
- Android两种轮询的实现方法
- 汉诺塔问题
- Android实现雷达View效果的示例代码
- Android Studio 创建自定义控件的方法
- Android实现轮询的三种方式
- Flutter 状态管理的实现
- Android FTP服务器上传文件攻略(代码详解)
- Android 集成 google 登录并获取性别等隐私信息的实现代码
- android通过servlet上传文件到服务器
- 面向对象语言的三大特征: 封装 继承 多态(一)——封装
- Android EditText随输入法一起移动并悬浮在输入法之上的示例代码
- 突击并发编程JUC系列-并发容器ConcurrentHashMap
- android通过servlet服务器保存文件到手机
- Android开发疫情查询app(实例代码)