python从zip中删除指定后缀文件(推荐)

yipeiwu_com6年前Python基础

一,说明

环境:python2
用到的模块 os zipfile shutil
程序功能:从zip中删除指定后缀的文件,然后再自动压缩

函数说明:

DelFileInZip(path,suffix)

path: zip文件的全路径
suffix: 指定的文件后缀

二,源码

import shutil
import zipfile
import os
from shutil import *
def UnZipFile(zip_src, dst_dir):#解压函数,将zip_src解压到dst_dir
  r = zipfile.is_zipfile(zip_src)
  if r:   
    fz = zipfile.ZipFile(zip_src, 'r')
    for file in fz.namelist():
      fz.extract(file, dst_dir)    
  else:
    print('This is not zip......')
def DelFileInZip(path,suffix):
  pathName=path[:path.rfind('.')]
  pathName=pathName.strip()
  if not os.path.exists(pathName):
    os.makedirs(pathName,0o777)
  else:
    print pathName+' Already exist......'
  print("UnZip:"+path)
  UnZipFile(path,pathName)#解压文件到pathName,python3可使用shutil.unpack_archive(path, pathName, 'zip')
  for root,dirs,files in os.walk(pathName):#遍历pathName文件夹
    for f in files:
      fileName=os.path.join(root,f)
      if(fileName.endswith(suffix)):#找到后缀为suffix的文件
        if os.path.isfile(fileName):
          os.remove(fileName)#删除目标文件
          print('del:'+fileName)
        else:
          print fileName+" not file......"
  print('Zip:'+path)
  shutil.make_archive(pathName,'zip',pathName)#压缩
  shutil.rmtree(pathName)#删除临时文件
  print('=======Finish!======')
  return ''
DelFileInZip('D:\\aaa.zip','log')

三,执行结果

总结

以上所述是小编给大家介绍的python从zip中删除指定后缀文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python网络编程学习笔记(五):socket的一些补充

1、半开放socket 利用shutdown()函数使socket双向数据传输变为单向数据传输。shutdown()需要一个单独的参数,该参数表示了如何关闭socket。具体为:0表示禁...

python 列表、字典和集合的添加和删除操作

在python中,元组不可变,只能查询不能修改,列表、字典和集合的基本操作,各不相同,下面就来比较一下它们的添加和删除操作吧。 添加 一、列表 1.“+”号 #两个数组相加,生成一个...

python解决js文件utf-8编码乱码问题(推荐)

html文件中引入js文件,显示乱码! js文件为utf-8 编码(无bom)  ,此时只要将js文件转成utf-8 BOM编码就可以解决了 可以使用notepad++转码 也...

python如何定义带参数的装饰器

本文实例为大家分享了python定义带参数装饰器的具体代码,供大家参考,具体内容如下 案例:        实现一个装饰器,用...

Python3基础教程之递归函数简单示例

概述 递归函数即直接或间接调用自身的函数,且递归过程中必须有一个明确的递归结束条件,称为递归出口。递归极其强大一点就是能够遍历任意的,不可预知的程序的结构,比如遍历复杂的嵌套列表。...