python实现文件的压缩与解压缩

shutil对压缩包的处理是通过调用zipFile和tarFile两个模块来进行的。

对于zip文件来说

import zipfile

# zipfile压缩
z = zipfile.ZipFile('ss.zip', 'w', zipfile.ZIP_STORED) #打包,zipfile.ZIP_STORED是默认参数
# z = zipfile.ZipFile('ss.zip', 'w', zipfile.ZIP_DEFLATED) #压缩
z.write('ss2')
z.write('ss1')
z.close()

#zipfile解压
z = zipfile.ZipFile('ss.zip', 'r')
z.extractall(path=r"C:\Users\Administrator\Desktop")
z.close()

对于tar文件来说

import tarfile

# 压缩
tar = tarfile.open('your.tar', 'w')
tar.add('/Users/wupeiqi/PycharmProjects/bbs2.log', arcname='bbs2.log')
tar.add('/Users/wupeiqi/PycharmProjects/cmdb.log', arcname='cmdb.log')
tar.close()

# 解压
tar = tarfile.open('your.tar', 'r')
tar.extractall()  # 可设置解压地址
tar.close()

自己的代码
待优化,需要分开完成对zip和tar文件进行解压缩

import zipfile
import os 
if __name__=='__main__':
    source_path=r'E:\2d_whole_img_529\label_5_29\5_29' 
    for (root1, dirs1, files1) in os.walk(source_path):
        for filename1 in files1:
            imagepath1=os.path.join(root1,filename1)
            print(imagepath1)
            try:
                z = zipfile.ZipFile(imagepath1, 'r')
                z.extractall(path=r"E:\2d_whole_img_529\all")
                z.close()
            except:
                pass

参考资料:

https://www.cnblogs.com/ming5218/p/7966378.html

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值