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( ...
随机推荐
- HashMap什么时候进行扩容?
Threshold:table数组元素个数size的大小超过threshold且且Node<K,V>[] table数组长度没有超过64时时table数组扩容.当hashmap中的元素个数 ...
- eclipse自定义快捷键
eclipse系统自带的快捷键设置有时候使用起来并不习惯,可以自定义某些常用的快捷键. 依次打开 Window->Preference->General->Keys,这里显示了所有的 ...
- 聊一聊JVM
JVM 什么是JVM? JVM是java虚拟机的缩写,本质上是一个程序,能识别.class字节码文件(.java文件编译后产生的二进制代码),并且能够解析它的指令,最终调用操作系统上的函数,完成我 ...
- C# 中 string.Empty、""、null的差别
一.string.Empty 和 "" 原文1 原文2 1. ...
- nc替代ping
linux nc介绍: 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p< ...
- 如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做下面那些事情?
如果一个网站存在CSRF漏洞,可以通过CSRF漏洞做下面那些事情? 答:跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求.利用受害者在被攻击网站已经获取的注册凭证 ...
- web之面试常问问题:如何实现水平垂直居中?
前提准备,在HTML页面中定义一个div,div中内容自定义. <div class="box sc">致我们呼啸而过的青春</div> 样式: div.b ...
- 2019 GDUT Rating Contest II : Problem B. Hoofball
题面: 传送门 B. Hoofball Input file: standard input Output file: standard output Time limit: 5 second Memor ...
- 【LeetCode】4. Median of Two Sorted Arrays(思维)
[题意] 给两个有序数组,寻找两个数组组成后的中位数,要求时间复杂度为O(log(n+m)). [题解] 感觉这道题想法非常妙!! 假定原数组为a,b,数组长度为lena,lenb. 那么中位数一定是 ...
- Error message: Failed to spawn: unable to access process with pid 413 due to system restrictions; try `sudo sysctl kernel.yama.ptrace_scope=0`, or run Frida as root
Android 8.0 在frida中使用 -f 参数报错, Error message: Failed to spawn: unable to access process with pid 413 ...