使用Python操作压缩文件
我们经常使用压缩程序对文件进行压缩打包,在 Python 中也提供了相应的 zipfile
模块方便我们对 ZIP
压缩文件进行操作。
读取 ZIP 压缩文件
读取 ZIP 压缩文件必须先创建 ZipFile
对象,通过调用 zipfile.ZipFile()
函数,传入 ZIP 文件名字符串就能获取到此 ZipFile
对象, ZipFile
对象与 File
对象类似,使用后需要调用 close()
函数关闭 ZIP 文件。使用 ZipFile
对象的 namelist()
方法可以返回 ZIP 文件中包含的所有文件夹和文件字符串列表。使用 ZipFile
对象的 getinfo()
方法可以传入 ZIP 里存在文件的字符串获取此文件的 ZipInfo
对象,可以再通过调用 file_size
获取文件压缩前的大小或调用 compress_size
获取文件压缩后的大小。通过计算 file_size / compress_size
就能获取到文件的压缩效率。
>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\Python.zip')
>>> zf.namelist()
['Python/', 'Python/day01/', 'Python/day01/python01.py', 'Python/day01/python02.py', 'Python/readme.txt']
>>> readmeInfo = zf.getinfo('Python/readme.txt')
>>> readmeInfo.file_size
9239
>>> readmeInfo.compress_size
4348
>>> readmeInfo.file_size / readmeInfo.compress_size
2.124885004599816
>>> zf.close()
ZIP 压缩文件解压
使用 extractall()
函数,可以将 ZIP 压缩文件的所有内容解压到指定路径下。使用 extract()
函数,可以将 ZIP 压缩文件中的指定文件解压到指定路径下,函数返回解压后文件的绝对路径。
>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\Python.zip')
>>> zf.extractall('C:\\zipTestAll')
>>> zf.extract('Python/readme.txt', 'C:\\zipTest')
'C:\\zipTest\\Python\\readme.txt'
>>> zf.close()
创建 ZIP 压缩文件
创建 ZIP 压缩文件必须以写模式打开 ZipFile
对象, ZipFile()
第一个参数为创建的压缩文件文件名,第二个参数为打开此文件的模式,即写模式 'w'
。使用 write()
方法将文件写入压缩文件里,第一个参数为要写入文件的文件名字符串,第二个参数为压缩算法。
>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\new.zip', 'w')
>>> zf.write('C:\\Users\\Caizi\\zipcreate.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> zf.close()
添加文件到 ZIP 压缩文件
添加文件到 ZIP 压缩文件与创建 ZIP 压缩文件方法相似,只不过在打开 ZipFile
对象时要以追加模式打开,即 ZipFile()
第二个参数设为 'a'
。
>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\new.zip', 'a')
>>> zf.write('C:\\Users\\Caizi\\zipadd.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> zf.close()
使用Python操作压缩文件相关推荐
- Python的压缩文件处理 zipfile tarfile
本文从以下两个方面, 阐述Python的压缩文件处理方式: 一. zipfile 二. tarfile 一. zipfile 虽然叫zipfile,但是除了zip之外,rar,war,jar这些压缩( ...
- python读压缩文件内容_Python读写压缩文件的方法
问题 你想读写一个gzip或bz2格式的压缩文件. 解决方案 gzip 和bz2模块可以很容易的处理这些文件. 两个模块都为 open()函数提供了另外的实现来解决这个问题. 比如,为了以文本形式读取 ...
- python读写压缩文件使用gzip和bz2
python读写压缩文件使用gzip和bz2 #读取压缩文件 # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as ...
- Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt.
- python处理excel表格实例-使用Python操作excel文件的实例代码
使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...
- python入门教程2word-入门干货:Python操作Word文件经验分享
原标题:入门干货:Python操作Word文件经验分享 导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通 ...
- 手机使用python操作图片文件
手机使用python操作图片文件 起因 前几天去国图拍了一本书,一本心理学方面的书,也许你问我为什么不去买一本,或者去网上找pdf. 其实吧,关于心理学方面的书可以说在市面上一抓就是一堆,至于拍这本书 ...
- 详解Python操作Excel文件
前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...
- python gzip压缩文件
python gzip压缩文件 下面的代码实现用gzip格式压缩文件,需要引用gzip包. #! import string import gzip from optparse import Opti ...
最新文章
- SpringBoot Thymeleaf使用教程(实用版)
- BLE-NRF51822教程6-创建一个自己的服务
- open-fopen read-fread等的不同 .
- Linux 终端下 dstat 监控工具
- android面试service,Android面试,与Service交互方式(4)
- python if else elif_Python之 if-elif-else
- Linux中用yum安装MySQL方法
- 那些年我们玩过的游戏
- Linux实验报告一【 下载配置搜狗安装包16.04】
- 机器学习笔记 - 什么是t-SNE?
- 腾讯下载的qlv格式视频转换mp4格式方法
- 【Python】Pymyql模块的execute()总结
- 小学计算机应用技术学院官网,成都信息技术学院官网
- 流量从“海量”到“僵化”,精细化运营是企业最后一根救命稻草
- U-Boot启动过程完全分析(转)
- MAC版本 12.2下 Lightroom2021版本闪退解决办法
- 2017计算机二级c语言试题,2017年计算机二级C语言试题
- “hellow world”哥 (2011-8-12 14:55)
- 解放双手 - Android 开发应该尝试的 UI 自动化测试
- 什么是云计算、云计算的特点、三种服务模式、四种部署模式