一,说明
环境: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中删除指定后缀文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!