Python批量解压,python打开压缩文件

  Python批量解压,python打开压缩文件

  介绍大蟒批量解压缩压缩文件的实例代码。代码如下所示。

  #/usr/pgddxmy/python # coding=utf-8 importos,sys

  importzipfileopen _ path= e:\ \ data save _ path= e:\ \ data OS。chdir(open _ path))。

  转到路径

  #首先,打开压缩文件模块中指定位置的活力文件

  #传递的文件名列表、列表文件所在的路径以及存储路径极好的解压缩(文件,文件路径,保存路径) :

  OS.getcwd(#当前路径OS.chdir))文件路径)#将移动到路径

  对于文件中的文件名:

  打印(文件名)为

  确定是否要解压缩r=zipfile.is_zipfile(文件名)#文件

  如果r:

  读取zpfd=zipfile.zipfile(文件名)压缩文件

  导航到OS.chdir(保存路径)#存储路径

  zpfd.extractall()

  zfd。关闭(定义文件_保存)打开_路径):

  对于file_path、sub_dirs、filesinOS.walk(open_path ) :#获取所有文件名和路径

  打印(文件路径,子目录,文件).

  解压(文件,文件路径,保存路径(文件保存)打开路径)))))))))

  查看以下代码用大蟒批量解压

  #!/usr/pgddxmy/python

  #-* -编码:utf-8-* -

  " "创建于2019年6月6日

  @作者:卡森

  ""

  导入操作系统

  导入是

  导入压缩文件

  导入字符串

  #以下3行是为了解决编码问题

  导入系统

  读(sys))。

  sys.setdefaultencoding(utf8))。

  file _ path=r /users/qcq/downloads/bills

  file _ out=r /users/qcq/downloads/qcq。文本

  正则表达式匹配三个项目:基本费用、信息费、长途费用。

  pattern=re.compile(r\d\\d )。

  电话号码线路=1 #标记文件中的第一行是电话号码行

  real_bill_line=7 #正文开始

  ""

  1 .代码的第一部分首先重复给定的文件目录,获取要处理的活力文件,存储在一个列表中,为以后的文件处理服务。这里主要使用os.walk重复目录,并使用os.path.join连接两个目录。

  ""

  文件名列表=[]

  对于目录路径、目录名、文件名、行走路径(文件路径) :

  对于文件名中的文件名:

  iffile_name.endswith(.zip)):

  TEMP_path=OS.path.join(目录路径,文件名)).

  文件名列表。追加(临时路径)

  ""

  2 .对获得的上述文件进行了排序,使输出顺序整齐。

  ""

  已排序(文件名列表) )为

  ""

  3 .正文部分

  ""

  withopen(file_out, w )作为f_out:

  对于文件名列表中的活力文件:

  以zipfile.zipfile(zip_file)为女:

  数据={}

  fornameoffileunderzipinf。名称列表():

  计数=1

  内容=stringio。stringio(f . read)nameoffileunderzip))

  sum_all=0.0

  内容在线:

  if count phone _ number _ lineandcountreal _ bill _ line 3360

  计数=1

  继续

  如果电话号码线路==计数:

  电话号码=线路。split(u :)[1]

  计数=1

  继续

  sum_all=sum(map(float,pattern.findall ) line))

  数据[电话号码。strip(]=sum _ all

  f_out.write(zip_file\n )。

  对于key,valueinsorted(data.items),key=lambda d:d[0]):

  f _ out。write(key : str(value)(\ n))

  # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

  #编码=utf-8

  (甄码农大蟒码

  使用压缩文件进行目录压缩、解压缩功能

  导入os,os.path

  导入压缩文件

  efzip_dir(目录名,zip文件名) :

  文件列表=[ ]

  IFOS .Path.isfile(目录名) :

  filelist.append(目录名)

  否则:

  对于root、dirs、filesinOS.walk、dirname、

  对于文件中的名称:

  文件列表。追加(操作系统。路径。join)root,name))

  ZF=zipfile.zipfile(zipfilename, w ,zipfile.zlib.DEFLATED))。

  对于文件列表中的焦油:

  ARCname=tar[Len(Dirname ) :]

  #打印弧名

  ZF.write(tar,arcname))。

  zf.close())

  efunzip_file(zipfilename,unziptodir):

  ifnotos。路径。exists(unziptodir):OS。mkdir(解压缩到dir,0777).

  ZF obj=zipfile.zipfile (zip文件名)).

  对于zfobj.namelist()中的名称:

  name=name.replace(\ ,/)。

  ifname .Endswith(/):

  OS。mkdir(操作系统。路径。join)unziptodir,name))

  否则:

  ext _ filename=OS路径。join(解压到dir,name))。

  ext _ dir=OS。路径。目录名(扩展名).

  ifnotos。路径。exists(ext _ dir):OS。mkdir(分机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 ,rE:/python/learning2 ))

  总结

  以上是编辑介绍的大蟒批量解压缩压缩文件的实例代码。我希望对大家有帮助。如果大家有什么疑问的话请发信息。编辑马上给大家回信。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: