zipfile tarfile模块
zipfile --- 使用ZIP存档
这个模块提供了创建、读取、写入、添加及列出 ZIP 文件的工具
# 创建一个ZipFile对象, 可使用上下文管理 with
class zipfile.ZipFile(file, mode='r', compression=ZIP_STORED,
allowZip64=True, compresslevel=None, *, strict_timestamps=True)
参数: file表示文件的路径或类文件对象(path-like object)
mode指示打开zip文件的模式, 默认为 r
r 表示读取已经存在的 zip 文件
w 表示新建一个zip文档或覆盖一个已存在的zip文档
a 表示将数据追加到一个现存的zip文档中
x 表示仅新建并写入新的文件
compression表示在zip文档中使用的压缩方法
zipfile.ZIP_STORED 仅存储,不会对文件进行压缩
zipfile.ZIP_DEFLATED 对文件进行压缩
如果要操作的zip文件超过2G,应该将allowZip64设置为True, 默认为True
# 压缩文件
zipfile.ZipFile() # 写模式 w 打开或者新建压缩文件
zipfile.write(path,arcname) # 向压缩文件中添加内容
zipfile.close() # 关闭压缩文件
# 解压文件
zipfile.ZipFile() # 读模式 r 打开压缩文件
zipfile.extractall(path) # 解压所有文件到某个路径下
zipfile.extract(file,path) # 解压指定文件到某个路径下
zipfile.close() # 关闭压缩文件
# 查看压缩表中的文件名字
zipfile.namelist()
tarfile 模块可以用来读写 tar 归档,包括使用 gzip, bz2 和 lzma 压缩的归档
| mode | action |
|---|---|
| 'r' or 'r:*' | 打开和读取使用透明压缩(推荐)。 |
| 'r:' | 打开和读取不使用压缩。 |
| 'r:gz' | 打开和读取使用gzip 压缩。 |
| 'r:bz2' | 打开和读取使用bzip2 压缩。 |
| 'r:xz' | 打开和读取使用lzma 压缩。 |
| 'x' 或 'x:' | 创建tarfile不进行压缩。如果文件已经存在,则抛出 FileExistsError 异常。 |
| 'x:gz' | 使用gzip压缩创建tarfile。如果文件已经存在,则抛出 FileExistsError 异常。 |
| 'x:bz2' | 使用bzip2 压缩创建tarfile。如果文件已经存在,则抛出 FileExistsError 异常。 |
| 'x:xz' | 使用lzma 压缩创建tarfile。如果文件已经存在,则抛出 FileExistsError 异常。 |
| 'a' or 'a:' | 打开以便在没有压缩的情况下追加。如果文件不存在,则创建该文件。 |
| 'w' or 'w:' | 打开用于未压缩的写入。 |
| 'w:gz' | 打开用于 gzip 压缩的写入。 |
| 'w:bz2' | 打开用于 bzip2 压缩的写入。 |
| 'w:xz' | 打开用于 lzma 压缩的写入。 |
压缩文件
tarfile.open(name=None, mode='r', fileobj=None, bufsize=10240, **kwargs) #创建或打开文件
tarfile.add(name, arcname=None) #向压缩文件中添加文件
tarfile.close() #关闭文件
解压文件
tarfile.open(name=None, mode='r', fileobj=None, bufsize=10240, **kwargs) #读模式打开文件
tarfile.extractall(path=".") # 解压所有文件到某个路径下
tarfile.extract(file,path) # 解压指定文件到某个路径下
tarfile.close() #关闭文件
# 追加
tarfile.open(name=None, mode='r', fileobj=None, bufsize=10240, **kwargs) # a 模式打开文件
# 查看压缩包中的内容
getnames()
zipfile tarfile模块的更多相关文章
- Python第二十天 shutil 模块 zipfile tarfile 模块
Python第二十天 shutil 模块 zipfile tarfile 模块 os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都没有提供 shutil 模块shut ...
- Python3学习之路~5.6 shutil & zipfile & tarfile模块
高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length])#将文件内容拷贝到另一个文件中,可以部分内容 shutil.copyfile(s ...
- (常用)time,datetime,random,shutil(zipfile,tarfile),sys模块
a.time模块import time 时间分为三种形式1.时间戳 (时间秒数的表达形式, 从1970年开始)print(time.time())start_time=time.time()time. ...
- Python中模块之shutil及zipfile&tarfile的功能介绍
shutil的功能介绍及其他打包.压缩模块 1. shutil模块的方法 chown 更改指定路径的属组 2. copy 拷贝文件和权限 方法:shutil.copy(src,dst,*,follow ...
- 模块 - random/string/os/sys/shutil/zipfile/tarfile
random 模块 方法: >>> random.randint(1,3) #会包含 1 2 3 3 >>> random.randrange(1,3) #会包含 ...
- day17.json模块、时间模块、zipfile模块、tarfile模块
一.json模块 """ 所有的编程语言都能够识别的数据格式叫做json,是字符串 能够通过json序列化成字符串与如下类型: (int float bool str l ...
- 【Python】 压缩文件处理 zipfile & tarfile
[zipfile] 虽然叫zipfile,但是除了zip之外,rar,war,jar这些压缩(或者打包)文件格式也都可以处理. zipfile模块常用的一些操作和方法: is_zipfile(file ...
- Python的压缩文件处理 zipfile & tarfile
本文从以下两个方面, 阐述Python的压缩文件处理方式: 一. zipfile 二. tarfile 一. zipfile 虽然叫zipfile,但是除了zip之外,rar,war,jar这些压缩( ...
- time/datetime/random/string/os/sys/shutil/zipfile/tarfile - 总结
time 模块: time.time() #时间戳 time.localtime() #当前时间对象元组 time.localtime(123123) #根据时间戳的时间对象 time.mktime( ...
随机推荐
- Redis 使用入门
NoSql概述 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",它泛指非关系型的数据库, Redis 是一个高性能的开源的.C语言写的Nosql( ...
- Go | Go 结合 Consul 实现动态反向代理
Go 结合 Consul 实现动态反向代理 代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端. Table of Contents 反向代理 实现逻辑 Go ...
- js--闭包与垃圾回收机制
前言 闭包和垃圾回收机制常常作为前端学习开发中的难点,也经常在面试中遇到这样的问题,本文记录一下在学习工作中关于这方面的笔记. 正文 1.闭包 闭包(closure)是Javascript语言的一个难 ...
- s2010 安装mvc3
下载链接如下:MVC 3安装包:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=d2928bc1-f48c-4e95-a0 ...
- 构造方法和this的作用
一.构造方法概述 构造方法是一个特殊的方法 是创建对象时候调用的方法 方法的名字很特殊:必须和类名保持一致,大小写都要一样 方法没有返回值 方法也没有返回值类型 构造方法无法在外部手动调用 publi ...
- MySQL注入流程
目录 确认注入点 信息收集 数据获取 提权 写个MySQL注入流程的大纲,类似一份全局地图,能指导下一步工作.MySQL注入流程分为四步: 确认注入点 信息收集 数据获取 提权 确认注入点 参考:ht ...
- [MIT 18.06 线性代数]Intordution to Vectors向量初体验
目录 1.1. Vectors and Linear Combinations向量和线性组合 REVIEW OF THE KEY IDEAS 1.2 Lengths and Dot Products向 ...
- golang操作redis/go-redis库
目录 Redis介绍 Redis支持的数据结构 Redis应用场景 准备Redis环境 go-redis库 安装 连接 普通连接 V8新版本相关 连接Redis哨兵模式 连接Redis集群 基本使用 ...
- MarkFormat,一个在Word中使用Mark进行格式化的插件
MarkFormat(标记格式化),是一款在Word中基于标记进行格式化的工具. 让我们看下具体效果. 首先是有标记的文本 点击格式化之后 点击去除标记之后(去除标记也会进行格式化) 如果想要恢复标记 ...
- HDU_3333 Turing Tree 【线段树 + 离散化】
一.题目 Turing Tree 二.分析 这题主要还是在区间的处理上. 为了保证区间内的数没有重复的,那么可以对区间按右端点从小到大排序,这样对原数组处理时,尽量保证不重复的元素靠右(可以假设右端点 ...