python 压缩与解压缩

import zipfile
week=20
z = zipfile.ZipFile("/content/sample_data/download_"+str(week)+".zip", 'w', zipfile.ZIP_DEFLATED)
startdir = "/content/sample_data/20"
os.chdir("/content/sample_data/20")
for dirpath, dirnames, filenames in os.walk(startdir):

  for filename in filenames:
    # print(os.path.join(fpath, filename))
    z.write(filename)
z.close()
# shutil.rmtree(path)

!unzip "/content/sample_data/download_20.zip" -d "/content/sample_data/26"

如果压缩文件夹,不想把根路径的文件夹一块压缩,需要跳转到对应的文件夹内部进行文件的压缩。

os.chdir("/content/sample_data/20")
os.chdir("/content/sample_data")
s="/content/sample_data/download_"+str(week)+".zip"
g="/content/sample_data/"+str(week)

f = zipfile.ZipFile(s,'r')
for file in f.namelist():
  f.extract(file,g+"/")



批量解压某一文件夹下的所有zip压缩包 

import zipfile
import os
def makedir(path):
  isExists=os.path.exists(path)
  if isExists:
    pass
  else:
    os.mkdir(path)
datapath="/content/sample_data"
os.chdir("/content/sample_data")
file_list = os.listdir(r'.')

for file_name in file_list:
    if os.path.splitext(file_name)[1] == '.zip':

        print(file_name)
        file_zip = zipfile.ZipFile(file_name, 'r')
        for file in file_zip.namelist():
          
            makedir(datapath+"/"+file_name[:-4])
            file_zip.extract(file,datapath+"/"+file_name[:-4]+"/")
        file_zip.close()
        os.remove(file_name)  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值