Python中的zipfile模块使用实例

简介: Python中的zipfile模块使用实例

1 压缩文件的基本信息


  • 导入模块

import zipfile


  • 加载压缩文件,创建ZipFile 对象
    class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
    1.参数file表示文件的路径或类文件对象(file-like object);
    2.参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a',w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中;
    3.参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。

file_dir = 'D:/text.zip'
zipFile = zipfile.ZipFile(file_dir)


  • ZipFile.infolist()
    获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表

print(zipFile.infolist())


输出

[<ZipInfo filename='text.txt' compress_type=deflate external_attr=0x20 file_size=13 compress_size=15>]


  • ZipFile.namelist()
    获取zip文档内所有文件的名称列表

print(zipFile.namelist())


输出

['text.txt']


  • ZipFile.printdir()
    将zip文档内的信息打印到控制台上

print(zipFile.printdir())


输出

File Name                                             Modified             Size
text.txt                                       2018-06-06 11:04:26           13
None


以上完整代码

import zipfile
# 加载压缩文件,创建ZipFile对象
# class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
# 参数file表示文件的路径或类文件对象(file-like object)
# 参数mode指示打开zip文件的模式,默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a',
# 'w'表示新建一个zip文档或覆盖一个已经存在的zip文档,'a'表示将数据附加到一个现存的zip文档中
# 参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。
# 如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。
file_dir = 'D:/text.zip'
zipFile = zipfile.ZipFile(file_dir)
# 01 ZipFile.infolist() 获取zip文档内所有文件的信息,返回一个zipfile.ZipInfo的列表
print(zipFile.infolist())
# 02 ZipFile.namelist() 获取zip文档内所有文件的名称列表
print(zipFile.namelist())
# 03 ZipFile.printdir() 将zip文档内的信息打印到控制台上
print(zipFile.printdir())


2 解压文件


  • ZipFile.extract(member[, path[, pwd]])
    将zip文档内的指定文件解压到当前目录。参数member指定要解压的文件名称或对应的ZipInfo对象;参数path指定了解析文件保存的文件夹;参数pwd为解压密码。下面一个例子将保存在程序根目录下的text.zip内的所有文件解压到D:/Work目录:

import zipfile
import os
zipFile = zipfile.ZipFile(file_dir)
for file in zipFile.namelist():
    zipFile.extract(file, 'd:/Work')
zipFile.close()


  • ZipFile.extractall([path[, members[, pwd]]])
    解压zip文档中的所有文件到当前目录。参数members的默认值为zip文档内的所有文件名称列表,也可以自己设置,选择要解压的文件名称。

zipFile.extractall('d:/Work') # 和上面效果一样


参考:http://www.jb51.net/article/68417.htm

相关文章
|
1月前
|
前端开发 搜索推荐 编译器
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
109 34
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
|
2月前
|
Python
Python Internet 模块
Python Internet 模块。
131 74
|
3月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
141 63
|
3月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
1月前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
41 0
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
2月前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
172 5
|
C++ Python
54 python - 类属性、实例属性
54 python - 类属性、实例属性
53 0
|
Python
【从零学习python 】43. Python面向对象编程中的实例属性和类属性
【从零学习python 】43. Python面向对象编程中的实例属性和类属性
98 0
|
Python
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
200 0
【Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问

热门文章

最新文章