前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件

Python中的zipfile模块使用实例1 压缩文件的基本信息2 解压文件

作者头像
致Great
发布2018-06-07 11:05:16
1.2K0
发布2018-06-07 11:05:16
举报
文章被收录于专栏:程序生活程序生活

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.06.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 压缩文件的基本信息
  • 2 解压文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档