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( ...
随机推荐
- Nearby Service新特性:Wi-Fi分享
PART 1: Wi-Fi分享功能介绍 朋友来家里做客.顾客到店里用餐-当他们想要给自己的手机链接Wi-Fi时,总免不了询问Wi-Fi名称和密码..这种问密码和给密码的过程十分麻烦,常常还会有听错或者 ...
- 小公举comm,快速比较两个排序文件
前言 我们经常会有需求比较一个文件里的内容是否在另一个文件存在.假如我有一份监控列表的IP写入在了file1,我所有的机器IP写入在了file2,我要找出还有哪些机器没有在监控列表.以前的做法是写个两 ...
- 使用gitlab构建基于docker的持续集成(一)
使用gitlab构建基于docker的持续集成(一) gitlab docker aspnetcore 持续集成 开篇 整体环境规划 准备工作 CA证书 虚拟机系统:安装Centos7.3 3.设置C ...
- 使用 SVG transform rotate 解决画框中的数字跟随旋转的问题
问题描述 在图片上画框标注数字,旋转画布后,数字随之旋转,可读性不强,要求修改成无论画布怎么旋转,数字都是正向显示~ 原交互图示: 解决方案 先看下 dom 的结构 然后看下下面简单的代码 // 获取 ...
- 什么原因才是阻碍Linux桌面发展的罪魁祸首
我大概2000年上大学在宿舍开始玩Linux,到现在20年了!也算是最早一批痴迷于Linux桌面用户啦!记得当时的毕业设计BBS论坛开发就是在Mandrake Linux(后改名Mandriva,一种 ...
- Flask-SQLAlchemy使用
Flask-SQLAlchemy 使用起来非常有趣,对于基本应用十分容易使用,并且对于大型项目易于扩展. 官方文档:https://flask-sqlalchemy.palletsprojects.c ...
- locust工具使用详解
今年负责部门的人员培养工作,最近在部门内部分享和讲解了locust这个工具,今天再博客园记录下培训细节 一.简介 1.优势 locust是python语言开发的一款的开源的的性能测试框架,他比jmet ...
- vue离开页面销毁滚动事件
methods:{ handleFun(){ /**销毁处理*/ } }, beforeDestroy(){ window.removeEventListener("scroll&qu ...
- flutter简易教程
跟Java等很多语言不同的是,Dart没有public protected private等关键字,如果某个变量以下划线 _ 开头,代表这个变量在库中是私有的.Dart中变量可以以字母或下划线开头,后 ...
- python-顺序队列的实现
class seqqueue(object): 8 def __init__(self,maxsize): 9 self.maxsize = maxsize 10 self.queueelem = [ ...