python中的loop啥意思_python怎么进行loop
匿名用戶(hù)
1級(jí)
2018-09-07 回答
#!\urs\bin\env?python
#encoding:utf-8???????#設(shè)置編碼方式
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:??????????????##包含特定內(nèi)容
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?=?[]?????????????????????????###不包含檢查的長(zhǎng)目錄、文件
file_extend?=?['.rb']?????????????????????###包含檢查的文件類(lèi)型
lf?=?loop_file(root_dir,?short_exclude,?long_exclude,?file_extend)
for?f?in?lf.start(lambda?f:?f):
print?f
總結(jié)
以上是生活随笔為你收集整理的python中的loop啥意思_python怎么进行loop的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 神仙豆腐树的药用价值
- 下一篇: 脸上起癣怎么办