Python压缩、减压7z文件
Python压缩、减压7z文件
- py7zr简介
- 安装
- 解压文件
- 压缩、归档
py7zr简介
py7zr
是一个由Python编程语言编写的7zip存档压缩、解压缩、加密和解密的库和实用程序。要求的最低版本是Python 3.6。
支持的算法:
- compress
- LZMA2
- LZMA
- Bzip2
- Deflate
- Copy
- ZStandard
- Brotli
- Deflate64 (Decompression only)
- PPMd (Experimental)
- crypt
- 7zAES
- Filters
- Delta
- BCJ(X86,ARMT,ARM,PPC,SPARC,IA64)
安装
可以直接使用pip进行安装py7zr:
pip install py7zr
或者使用conda:
conda install -c conda-forge py7zr
解压文件
下面是一段代码片段,介绍如何解压文档中的一些文件:
import py7zrarchive = py7zr.SevenZipFile('sample.7z', mode='r')
archive.extractall(path="/tmp")
archive.close()
py7zr (v0.6及更高版本) 也提供了上下文管理,所以可以使用 with
代码块:
import py7zrwith py7zr.SevenZipFile('sample.7z', mode='r') as z:z.extractall()with py7zr.SevenZipFile('target.7z', 'w') as z:z.writeall('./base_dir')
py7zr 还支持提取单个或通过 extract(targets=[‘file path’])
选定的多个文件。注意:如果只指定文件而不指定父目录,将会提取失败。
import py7zr
import refilter_pattern = re.compile(r'<your/target/file_and_directories/regex/expression>')
with SevenZipFile('archive.7z', 'r') as archive:allfiles = archive.getnames()selective_files = [f for f in allfiles if filter_pattern.match(f)]archive.extract(targets=selective_files)
py7zr(v0.6及更高版本)支持提取受密码保护的归档文件。
import py7zrwith py7zr.SevenZipFile('encrypted.7z', mode='r', password='secret') as z:z.extractall()
压缩、归档
下面是一段如何生成归档文件的事例代码。
import py7zrwith py7zr.SevenZipFile('target.7z', 'w') as archive:archive.writeall('/path/to/base_dir', 'base')
要创建加密存档,请传递密码。
import py7zrwith py7zr.SevenZipFile('target.7z', 'w', password='secret') as archive:archive.writeall('/path/to/base_dir', 'base')
要使用zstandard等算法创建存档,可以使用自定义过滤器调用。
import py7zrmy_filters = [{"id": py7zr.FILTER_ZSTD}]
another_filters = [{"id": py7zr.FILTER_ARM}, {"id": py7zr.FILTER_LZMA2, "preset": 7}]
with py7zr.SevenZipFile('target.7z', 'w', filters=my_filter) as archive:archive.writeall('/path/to/base_dir', 'base')
Python压缩、减压7z文件相关推荐
- python 压缩文件 调用7z_Python:如何从Python压缩的7z文件中读取一行?
(详细介绍收益率部分)注意,我不知道这个库,也不知道你用什么函数来获取未压缩的数据块.但我的意思是:def 7zreadline(filename): with open(filename, 'rb' ...
- python压缩教程_如何使用Python压缩/解压缩zip文件?(代码示例)
在批量交换大文件和多个文件时,使用zip文件是非常方便的.下面本篇文章就来带大家认识解一下zip文件,介绍使用Python压缩或解压缩zip文件的方法,希望对大家有所帮助.[视频教程推荐:Python ...
- 用Python压缩和提取文件
如果您使用计算机已有一段时间,则可能遇到了扩展名为.zip的文件. 它们是特殊文件,可以保存许多其他文件,文件夹和子文件夹的压缩内容. 这使它们对于通过Internet传输文件非常有用. 您是否知道可 ...
- python解压7z文件_Python调用7zip命令实现文件批量解压
Python调用7zip命令实现文件批量解压 1.输入压缩文件所在的路径 2.可以在代码中修改解压到的文件路径和所需要解压的类型,列入,解压文件夹下面所有的mp4格式的文件 3.cmd 指的就是Pyt ...
- python压缩_Python札记 -- 文件压缩
在日常工作当中免不了要对文件进行压缩,Python标准库里也提供了实现压缩功能的模块. 一.简单的例子 首先了解一下压缩单个文件在Python中怎么实现.竹风建了个测试文件夹zip_text,里面有t ...
- JAVA 7z Seven Zip 压缩和解压文件
JAVA 7z Seven Zip 压缩和解压文件 7-Zip是基于GNU LGPL协议发布的软件,通过全新算法使压缩比率大幅提升 本文主要讲解通过JAVA方式把文件压缩成7z文件和对7z文件进行解压 ...
- Python学习笔记(一)压缩与解压缩文件
Python压缩与解压缩文件 Python能够直接处理zip文件中的数据,例如需要将对应目录或多文件打包或压缩成zip格式,或者需要查看一个zip格式的归档文件中部分或所有的文件同时避免将这些文件展开 ...
- c语言lzma算法,C语言编程使用lzma SDK对7z文件简略解压缩
有时候我们只需要单纯对lzma算法压缩的7z文件进行解压,有时需要在嵌入式设备上解压,使用p7zip虽然支持多种格式,但是不容易裁剪,使用lzma SDK是首选: 可以在这里找到各种版本:http:/ ...
- python批量解压文件,python批量解压zip文件的方法
python怎样压缩和解压缩ZIP文件 说明 python使用zipfile模块来压缩和解压zip文件 才能最好于孤独中培养:品格最好在世界的汹涌波涛中形成. 代码 import os,os.path ...
- Python解压7z压缩文件
Python解压7z压缩文件 可以使用py7zr库: import py7zrarchive = py7zr.SevenZipFile(r'xxx.7z', mode='r')archive.extr ...
最新文章
- 游戏风格化角色创建入门指南视频教程
- CSS使用线性渐变实现滚动进度条
- [OSG]OSG的相关扩展
- 计算机蠕虫的存在形式,计算机蠕虫
- c语言输入若干数输出最小值循环结构,C语言上机150道题
- 一个android工程生成两个aar,android studio生成aar包并在其他工程引用aar包(示例代码)...
- 64位MinGW和MSYS的安装
- 核心显卡是新一代的智能图形核心
- 【ElasticSearch】IK分词加入标点符号
- web前端基础知识:html布局如何应用?
- 将多张图片转为avi视频,再转为h264文件
- Python:渗透测试开源项目【源码值得精读】
- [渝粤教育] 重庆工程职业技术学院 Linux服务器配置与管理 参考 资料
- html盒子如何左对齐,【图片】怎么才能让盒子里的LI标签在实现的时候左对齐?在线等急!!!!【web前端开发吧】_百度贴吧...
- 在使用JEDate时间控件时,不能捕捉到input的change事件的解决办法
- [News]传奇乞丐粉笔字震惊全国 字库上门求字
- windows7计算机启动修复怎么办,Win7电脑开机提示启动修复无法进入系统怎么办?...
- sipdroid软件直接使用andriod打网络电话
- java计算机毕业设计即时高校信息发布系统源码+mysql数据库+系统+lw文档+部署
- python中1到100怎么表示_python如何计算1到100的和(用for循环)