python 批量解压压缩文件的实例代码
下面给大家介绍python批量解压压缩文件的实例代码,代码如下所述;
#/usr/bin/python#coding=utf-8importos,sys importzipfileopen_path='e:\\data'save_path='e:\\data'os.chdir(open_path) #转到路径 #首先,通过zipfile模块打开指定位置zip文件 #传入文件名列表,及列表文件所在路径,及存储路径defDecompression(files,file_path,save_path): os.getcwd()#当前路径os.chdir(file_path)#转到路径 forfile_nameinfiles: print(file_name) r=zipfile.is_zipfile(file_name)#判断是否解压文件 ifr: zpfd=zipfile.ZipFile(file_name)#读取压缩文件 os.chdir(save_path)#转到存储路径 zpfd.extractall() zpfd.close()deffiles_save(open_path): forfile_path,sub_dirs,filesinos.walk(open_path):#获取所有文件名,路径 print(file_path,sub_dirs,files) Decompression(files,file_path,save_path)files_save(open_path)
在看下一段代码python批量解压
#!/usr/bin/python
#-*-coding:UTF-8-*-
'''CreatedonJun6,2019
@author:carson
'''
importos
importre
importzipfile
importStringIO
#下述三行是为了解决编码问题
importsys
reload(sys)
sys.setdefaultencoding('utf8')
file_path=r'/Users/qcq/Downloads/bills'
file_out=r'/Users/qcq/Downloads/qcq.txt'
#正则表达式匹配基本话费,信息费,长途费,三个条目。
pattern=re.compile(r'\d+\.\d+')
phone_number_line=1#标记文件的第一行是电话号码行
real_bill_line=7#正文开始
'''
1.代码第一部分,首先迭代给定的文件目录,取得需要处理的zip文件,存储在一个列表里面,为后边的文件处理服务。此处主要是使用os.walk来迭代目录,然后使用os.path.join连接两个目录。
'''
file_name_list=[]
fordirpath,dirnames,filenamesinos.walk(file_path):
forfile_nameinfilenames:
iffile_name.endswith('.zip'):
temp_path=os.path.join(dirpath,file_name)
file_name_list.append(temp_path)
'''
2.对获取到的上述文件,进行了排序使输出的顺序有序。
'''
sorted(file_name_list)
'''
3.正文部分
'''
withopen(file_out,'w')asf_out:
forzip_fileinfile_name_list:
withzipfile.ZipFile(zip_file)asf:
data={}
fornameOfFileUnderZipinf.namelist():
count=1
contents=StringIO.StringIO(f.read(nameOfFileUnderZip))
sum_all=0.0
forlineincontents:
ifcount>phone_number_lineandcount
总结
以上所述是小编给大家介绍的python批量解压压缩文件的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!