主页 > 办公自动化 > python如何实现for循环操作文件?

python如何实现for循环操作文件?

2022-02-17 09:08来源:m.sf1369.com作者:宇宇

python用for循环遍历文件操作,代码如下:

#!\urs\bin\env python#encoding:utf-8       #设置编码方式  import osimport reclass 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

#获取a.txt的内容content=[line for line in open(a.txt,rt).readlines() if line.strip()!=]#产生新的内容new_content=[]loop_numbers=500 #循环次数import randomfor i in xrange(loop_numbers): #随机从旧内容中选择一行,添加到新内容中 new_content.append( content[random.randint(len(content))] )#将新内容添加到旧文件中open(a.txt,wa).write(\r.join(new_content))

相关推荐

企业办公软件都有哪些?

办公自动化 2024-01-14

数控车床自动编程用什么软件?

办公自动化 2024-01-12

写字间物业管理方案

办公自动化 2023-12-09

自动化的好处和坏处

办公自动化 2023-12-05

单片机有什么特征?

办公自动化 2023-11-27

excel2007教程|excel2007教程下载

办公自动化 2023-11-22