这篇“Python压缩包处理模块zipfile和py7zr怎么使用?如何使用python压缩包处理模块?”文章的知识点大部分人都不太理解,所以今天给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇文章吧 。
文章插图
一:zipfile的常用操作
1,压缩文件
zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])参数file表示一个文件的路径,参数mode指示打开zip文件的模式,有三种mode,解压:r,压缩:w,追加压缩a,默认值为'r',表示读存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档,下面我们创建一个压缩文件hh.zip,并压缩test文件夹下的所有文件 。
import zipfileimport osdir = "D:\\ result\\test"filename = "./hh.zip"z = zipfile.ZipFile(filename, 'w') for d in os.listdir(dir):z.write(d)z.close当然上面还可以用with的方法打开
import zipfileimport osdir = "D:\\ result\\test"filename = "./hh.zip"with zipfile.ZipFile(filename, 'w') as z:for d in os.listdir(dir):z.write(d)z.close2,解压缩文件
import zipfileimport ostestdir = "D: \\result\\test"filename = "./hh.zip"with zipfile.ZipFile(filename, 'r') as z:z.extractall(dir)在解压的时候需要注意的地方,有些压缩包解压是有密码,这时候调用extractall的时候也支持输入密码,在python3中,解压文件的密码参数 pwd 接收的是二进制的值,所以要在前面加一个b 。
z.extractall(dir,pwd=b"ftz")3,列出压缩包里的所有文件
import zipfileimport osdir = "D: \\result\\test"filename = "./hh.zip"with zipfile.ZipFile(filename, 'r') as z:files = z.namelist()print(files)【Python压缩包处理模块zipfile和py7zr怎么使用?如何使用Python压缩包处理模块?】 二:py7zr的常用操作
1,压缩文件
import py7zrwith py7zr.SevenZipFile('target.7z', 'w') as archive:archive.writeall('/path/to/hh_dir', 'base')如果想设置密码压缩
import py7zr with py7zr.SevenZipFile('target.7z', 'w', password='secret') as archive: archive.writeall('/path/to/hh_dir', 'base')2,解压缩文件
import py7zrarchive = py7zr.SevenZipFile('sample.7z', mode='r')archive.extractall(path="/tmp")archive.close()也支持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')py7z也支持提取某个文件或者符合正则匹配的文件
import py7zrimport 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)以上就是关于“Python压缩包处理模块zipfile和py7zr怎么使用?如何使用Python压缩包处理模块”这篇文章的全部内容,相信大家都有了一定的了解,希望今天分享的内容对大家有帮助,想要了解更多压缩包处理模块的问题,可继续关注哦!
推荐阅读
- python开发是做什么的?可以使用python做什么?
- 什么是python装饰器?如何使用python装饰器?
- python如何进行类型转换?python类型转换讲解
- Python中如何去除字符串中的空格?Python中常见字符串去除空格操作的方法有哪些?
- Python常见的字符串处理方式有哪些?常见的字符串处理方式
- 新手常见的python报错及解决方法 6种python常见的报错及解决方法
- 怎样在python中求和?sum求和函数如何在Python中使用?
- python变量命名规则有哪些?python变量命名规则讲解
- 如何使用Python发送邮件?使用Python发送邮件的方法
- 如何快速使用pycharm运行python?使用pycharm运行python