Python--我一般都用这个模块压缩文件

简介: Python--我一般都用这个模块压缩文件

打包成压缩文件很多时候都能用上,也包括了自动化中的部分应用。例如,将测试报告打包发送。

本章就来介绍其中一个模块,可以用于结合上一章的内容结合使用。

from zipfile import ZipFile

ZipFile是zipfile的一个方法。

提取zip文件

from zipfile import ZipFile
file = r'three_\notes\zips.zip'
with ZipFile(file,'r') as zip:
    zip.printdir()
    print("~" * 30)
    zip.extractall()
    print("over")

需要提前准备一个.zip压缩文件。最好不要带中文,可能会文件名造成乱码。

File Name                                             Modified             Size
zips/headset.png                               2022-12-03 10:34:14         7532
zips/mouse.png                                 2022-12-03 10:34:14         5439
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
over

**printdir()**方法打印存档的目录。

**extractall()**方法会将zip文件的所有内容提取到当前工作目录中。

**extract()**方法来提取任何文件,方法是在 zip 文件中指定其路径。

zip.extract('zips/headset.png')

如果你想读取一些特定的文件,你可以这样:

data = zip.read(name_of_file_to_read)

写入zip文件

from zipfile import ZipFile
import os
def get_all_file_paths(directory):
    # 将文件写入列表
    file_paths = []
    # 获取指定路径的文件
    for root, directories, files in os.walk(directory):
        for filename in files:
            print(root,files)
            # 路径拼接
            filepath = os.path.join(root, filename)
            file_paths.append(filepath)
    # 返回所有路径
    return file_paths        
def main():
    # 需要压缩的路径
    directory = r'three_\notes\zips'
    # 传入遍历路径
    file_paths = get_all_file_paths(directory)
    # 打印压缩路径的内容
    print('Following files will be zipped:')
    for file_name in file_paths:
        print(file_name)
    # 写入压缩文件
    with ZipFile('my_python_files.zip','w') as zip:
        # 写入每一个文件
        for file in file_paths:
            zip.write(file)
    print('All files zipped successfully!')        
if __name__ == "__main__":
    main()

获取zip文件信息

from zipfile import ZipFile
import datetime
# 路径
file_name = r"three_\notes\zips.zip"
# 打开并读取其中的内容信息
with ZipFile(file_name, 'r') as zip:
    for info in zip.infolist():
            print(info.filename)
            print('\tModified:\t' + str(datetime.datetime(*info.date_time)))
            print('\tSystem:\t\t' + str(info.create_system) + '(0 = Windows, 3 = Unix)')
            print('\tZIP version:\t' + str(info.create_version))
            print('\tCompressed:\t' + str(info.compress_size) + ' bytes')
            print('\tUncompressed:\t' + str(info.file_size) + ' bytes')

以上就是该模块的大致用法,当然也有很多类似的模块,只要好用都可以。

目录
相关文章
|
2月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
346 7
|
2月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
255 0
|
2月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
383 4
|
2月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
2月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
289 0
|
2月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
198 0
|
3月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
134 4
|
3月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
314 0
|
11月前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
291 8
|
SQL JSON 关系型数据库
n种方式教你用python读写excel等数据文件
n种方式教你用python读写excel等数据文件
221 1

推荐镜像

更多