【Python】zipfile实现压缩及解压

边处理边压缩

import zipfile
from scipy import misc
import os
import numpy as np
import glob

def yasuo_file():
    files = glob.glob(r'E:\need_zip\*')
    f = zipfile.ZipFile(r'E:\zip_save\\' + str("ss") +".zip", 'w', zipfile.ZIP_DEFLATED)

    for file in files:
        f.write(file, os.path.split(file)[-1])
    f.close()

def single_yasuo_file():
    z = zipfile.ZipFile(r'E:\zip_save\ss.zip', 'w', zipfile.ZIP_DEFLATED) #打包,zipfile.ZIP_STORED是默认参数
    # z = zipfile.ZipFile('ss.zip', 'w', zipfile.ZIP_DEFLATED) #压缩
    for i in range(10000):
        save_path = os.path.join(r"E:\need_zip", str(i)+".jpg")
        img = np.random.randint(256,size=(96,96,3), dtype=np.uint8)
        misc.imsave(save_path, img)
        z.write(save_path, str(i)+".jpg")
    z.close()

def jieya_file():
    f = zipfile.ZipFile(r'E:\zip_save\ss.zip', 'r')
    for file in f.namelist():  # f.namelist()返回列表,列表中的元素为压缩文件中的每个文件
        f.extract(file, "ss/")
    f.close()

if __name__ == "__main__":
    # yasuo_file()
    jieya_file()
    # single_yasuo_file()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值