python 批量解压压缩文件的实例代码

python 批量解压压缩文件的实例代码,第1张

概述python批量解压压缩文件的实例代码下面给大家介绍python批量解压压缩文件的实例代码,代码如下所述;#/usr/bin/python#coding=utf-8importos,sysimportzipfileopen_path='e:\\data'save_path='e:\\data'os.chdir(open_path)#转到路径#首先,通过

python 批量解压压缩文件的实例代码

下面给大家介绍python 批量解压压缩文件的实例代码,代码如下所述;

    #/usr/bin/python#Coding=utf-8import os,sys     import zipfile open_path='e:\data'save_path='e:\data' os.chdir(open_path)    #转到路径    #首先,通过zipfile模块打开指定位置zip文件    #传入文件名列表,及列表文件所在路径,及存储路径def Decompression(files,file_path,save_path):      os.getcwd()#当前路径  os.chdir(file_path)#转到路径      for file_name in files:       print(file_name)       r = zipfile.is_zipfile(file_name)#判断是否解压文件       if r:          zpfd = zipfile.Zipfile(file_name)#读取压缩文件         os.chdir(save_path)#转到存储路径          zpfd.extractall()          zpfd.close()def files_save(open_path):     for file_path,sub_dirs,files in os.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 -*-    '''Created on Jun 6, 2019    @author: carson    '''    import os    import re    import zipfile    import StringIO    # 下述三行是为了解决编码问题    import sys    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 = []    for dirpath, dirnames, filenames in os.walk(file_path):      for file_name in filenames:        if file_name.endswith('.zip'):          temp_path = os.path.join(dirpath, file_name)          file_name_List.append(temp_path)    '''    2. 对获取到的上述文件,进行了排序使输出的顺序有序。    '''          sorted(file_name_List)    '''    3. 正文部分    '''    with open(file_out, 'w') as f_out:      for zip_file in file_name_List:        with zipfile.Zipfile(zip_file) as f:          data = {}          for nameOffileUnderZip in f.nameList():            count = 1            contents = StringIO.StringIO(f.read(nameOffileUnderZip))            sum_all = 0.0            for line in contents:              if count > phone_number_line and count < real_bill_line:                count += 1                continue              if phone_number_line == count:                phone_number = line.split(u':')[1]                count += 1                continue              sum_all += sum(map(float, pattern.findall(line)))            data[phone_number.strip()]=sum_all          f_out.write(zip_file + '\n')          for key, value in sorted(data.items(), key=lambda d:d[0]) :            f_out.write(key + ':' + str(value) + '\n')        ##############################################################################    #Coding=utf-8    #甄码农python代码    #使用zipfile做目录压缩,解压缩功能    import os,os.path    import zipfile    def zip_dir(dirname,zipfilename):      fileList = []      if os.path.isfile(dirname):        fileList.append(dirname)      else :        for root, dirs, files in os.walk(dirname):          for name in files:            fileList.append(os.path.join(root, name))      zf = zipfile.Zipfile(zipfilename, "w", zipfile.zlib.DEFLATED)      for tar in fileList:        arcname = tar[len(dirname):]        #print arcname        zf.write(tar,arcname)      zf.close()    def unzip_file(zipfilename, unziptodir):      if not os.path.exists(unziptodir): os.mkdir(unziptodir, 0777)      zfobj = zipfile.Zipfile(zipfilename)      for name in zfobj.nameList():        name = name.replace('\\','/')        if name.endswith('/'):          os.mkdir(os.path.join(unziptodir, name))        else:                ext_filename = os.path.join(unziptodir, name)          ext_dir= os.path.dirname(ext_filename)          if not os.path.exists(ext_dir) : os.mkdir(ext_dir,0777)          outfile = open(ext_filename, 'wb')          outfile.write(zfobj.read(name))          outfile.close()    if __name__ == '__main__':      zip_dir(r'E:/python/learning',r'E:/python/learning/zip.zip')      unzip_file(r'E:/python/learning/zip.zip',r'E:/python/learning2')

总结

以上所述是小编给大家介绍的python 批量解压压缩文件的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

总结

以上是内存溢出为你收集整理的python 批量解压压缩文件的实例代码全部内容,希望文章能够帮你解决python 批量解压压缩文件的实例代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1188514.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存