python循环遍历文件操作
来源:互联网 发布:linux 查看总cpu使用率 编辑:程序博客网 时间:2024/06/06 07:26
#!\urs\bin\env python #encoding:utf-8 #设置编码方式 import os import re class loop_file: def __init__(self, root_dir, short_exclude=[], long_exclude=[], file_extend=[]): self.root_dir = root_dir self.short_exclude = short_exclude self.long_exclude = long_exclude self.file_extend = file_extend def __del__(self): pass def start(self, func): self.func = func return self.loop_file(self.root_dir) def loop_file(self, root_dir): t_sum = [] sub_gen = os.listdir(root_dir) for sub in sub_gen: is_exclude = False for extends in self.short_exclude: ##在不检查文件、目录范围中 if extends in sub: ##包含特定内容 is_exclude = True break if re.search(extends, sub): ##匹配指定正则 is_exclude = True break if is_exclude: continue abs_path = os.path.join(root_dir, sub) is_exclude = False for exclude in self.long_exclude: if exclude == abs_path[-len(exclude):]: is_exclude = True break if is_exclude: continue if os.path.isdir(abs_path): t_sum.extend(self.loop_file(abs_path)) elif os.path.isfile(abs_path): if not "." + abs_path.rsplit(".", 1)[1] in self.file_extend: ##不在后缀名 检查范围中 continue t_sum.append(self.func(abs_path)) return t_sum if '__main__'==__name__: root_dir = r'D:\harness\newshoppingcart\testcase\promo\single_promo' short_exclude = ['.svn', '.*_new.rb'] ###不包含检查的短目录、文件 long_exclude = [] ###不包含检查的长目录、文件 file_extend = ['.rb'] ###包含检查的文件类型 lf = loop_file(root_dir, short_exclude, long_exclude, file_extend) for f in lf.start(lambda f: f): print f
给定一个主目录,循环其下特定过滤规则的文件,并传给自定义的处理函数,最后返回每一个自定义函数返回的结果内容的列表。
0 0
- python循环遍历文件操作
- python循环遍历文件操作
- Python循环遍历文件
- python文件操作遍历目录
- python文件操作(遍历所有文件)
- Python--文件操作之遍历目录
- python文件操作之遍历目录
- Python文件操作及文件夹遍历
- python文件操作之遍历目录
- python--文件操作之遍历目录
- Python--文件操作之遍历目录
- python 循环遍历笔记
- 【Python开发】python重命名文件和遍历文件夹操作
- python基础:python循环、三元运算、字典、文件操作
- python文件夹遍历,文件操作,获取文件修改创建时间
- python文件夹遍历,文件操作,获取文件修改创建时间
- python文件夹遍历,文件操作,获取文件修改创建时间
- python文件夹遍历,文件操作,获取文件修改创建时间
- WebRtc libjingle_PeerConnection层(一) 显示本地视频
- MySQL数据库迁移(直接复制文件)
- POI 读写Excel
- cocos studio 将界面生成json 文件
- Python获取本机外网IP
- python循环遍历文件操作
- Angular ui-grid 2.0 与 3.0 版本区别
- ArcMap常用工具
- CSS3 HTML5动画
- searchBar背景框的取消
- js继承原理
- 火狐Firefox浏览器安装Selenium_IDE的步骤以及其使用规则
- Lua的局部变量
- 交互设计师学习之路:第一天 色彩学习