python如何在循环中保存⽂件_python如何实现for循环操作⽂
件?
展开全部
python新手代码图案如何保存python⽤for循环遍历⽂件操作,代码如下:#!\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=[]):
<_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__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: ##包含特32313133353236313431303231363533e4b893e5b19e31333337396231定内容
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):
d(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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论