解压大于4g的文件_python解压压缩包

2778054060a4effdc9b67ec0197cd2cc.png

压缩包类型:.gz .tar .tgz .zip .rar

gz: 即gzip。通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。

tar: linux系统下的打包工具。仅仅打包。不压缩

tgz:即tar.gz。先用tar打包,然后再用gz压缩得到的文件

zip: 不同于gzip。尽管使用相似的算法,能够打包压缩多个文件。只是分别压缩文件。

rar:打包压缩文件。最初用于DOS,基于window操作系统。

gz

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import gzip

def un_gz(file_name):

# 获取文件的名称,去掉后缀名

f_name = file_name.replace(".gz", "")

# 开始解压

g_file = gzip.GzipFile(file_name)

#读取解压后的文件,并写入去掉后缀名的同名文件(即得到解压后的文件)

open(f_name, "wb+").write(g_file.read())

g_file.close()

tar

import tarfile

tar = tarfile.open( '*.tar.gz', mode = "r:gz") #"r:gz"表示 open for reading with gzip compression

tar.extractall(path='temp') ### 将tar.gz文件解压到temp文件夹下

tar.close()

tgz

import tarfile

tarobj = tarfile.open("my_backup_file.tgz", "r:gz")

for tarinfo in tarobj:

tarobj.extract(tarinfo.name, r"d:/temp/backup")

tarobj.close()

b058286657bbcb2c85283e7b48d4e6c2.png

zip

import zipfile

'''

基本格式:zipfile.ZipFile(filename[,mode[,compression[,allowZip64]]])

mode:可选 r,w,a 代表不同的打开文件的方式;r 只读;w 重写;a 添加

compression:指出这个 zipfile 用什么压缩方法,默认是 ZIP_STORED,另一种选择是 ZIP_DEFLATED;

allowZip64:bool型变量,当设置为True时可以创建大于 2G 的 zip 文件,默认值 True;

'''

zip_file = zipfile.ZipFile(path)

zip_list = zip_file.namelist() # 得到压缩包里所有文件

for f in zip_list:

zip_file.extract(f, folder_abs) # 循环解压文件到指定目录

zip_file.close() # 关闭文件,必须有,释放内存

cba009a4ce959c2e7c86acd6cadf4a50.png

rar

import rarfile

import os

rar=rarfile.RarFile(filename, mode='r') # mode的值只能为'r'

# 判断同名文件夹是否存在,若不存在则创建同名文件夹

if os.path.isdir(os.path.splitext(filename)[0]):

rf_list = rf.namelist() # 得到压缩包里所有的文件

print('rar文件内容', rf_list)

else:

os.mkdir(os.path.splitext(filename)[0])

rar.extractall(os.path.splitext(filename)[0]) # 解压文件

rar.close() # 关闭文件,必须有,释放内存

windows下rar解压操作:

下载UnRAR动态库

  https://pypi.python.org/pypi/unrar/0.2

  windows下可以下载编译好的库包:

  http://www.rarlab.com/rar/UnRARDLL.exe

  下载解压后能得到一个DLL: UnRAR.dll

安装python包unrar

  pip install unrar

  windows下先进入python安装目录下的Scripts: 例如“D:Python27Scripts”

  然后同样执行: pip install unrar

c89bbe6474513dcf2d1c86c982a35666.png

参考资料:

https://www.rarlab.com/technote.htm

https://pypi.org/project/unrar/

https://python-unrar.readthedocs.io/en/v0.3/constants.html

https://blog.csdn.net/luoshengkim/article/details/46647423

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值