首页 > 其他分享 >Zip模块

Zip模块

时间:2024-03-04 12:00:03浏览次数:19  
标签:文件 Zip zip zf zipfile 模块 ceshi111 ZIP

ZIP模块

压缩模块的动作应该是 打包 -> 压缩

构造

def __init__(self, file, mode="r", compression=ZIP_STORED, allowZip64=True,
                 compresslevel=None, *, strict_timestamps=True):
    
#功能:创建一个ZipFile对象,表示一个zip文件.
#参数:
"""
    -参数file表示文件的路径或类文件对象(file-like object)
    -参数mode指示打开zip文件的模式,默认值为r
        r    表示读取已经存在的zip文件
        w    表示新建一个zip文档或覆盖一个已经存在的zip文档
        a    表示将数据追加到一个现存的zip文档中。
    -参数compression表示在写zip文档时使用的压缩方法
        zipfile.ZIP_STORED      只是存储模式,不会对文件进行压缩,这个是默认值
        zipfile.ZIP_DEFLATED    对文件进行压缩 
    -如果要操作的zip文件大小超过2G,应该将allowZip64设置为True 默认。
"""

创建压缩包

zf = zipfile.ZipFile("ceshi111.zip","w",  zipfile.ZIP_DEFLATED)

写入文件

'''write(路径,zf.close()别名)'''
zf.write("/bin/bash","bash")
zf.write("/bin/bunzip2","bunzip2")
zf.write("/bin/cat","tmp/cat")

追加压缩文件

zf = zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED)
zf.write("/bin/chmod","chmod")
zf.close()

关闭文件

zf.close()

解压文件

zf = zipfile.ZipFile("ceshi111.zip","r")

#解压的文件  解压到的位置是路径

# 解压单个文件
"""extract(文件,路径)"""
# zf.extract("bash","ceshi111") 

# 解压所有文件
"""extract(路径)"""
zf.extractall("ceshi222")
zf.close()

with简化

# 用with来简化操作
with zipfile.ZipFile("ceshi111.zip","a", zipfile.ZIP_DEFLATED) as zf:
	zf.write("/bin/chmod","chmod123456")

# 查看文件
with zipfile.ZipFile("ceshi111.zip","r") as zf:
	lst = zf.namelist()	#返回名称列表
	print(lst)

标签:文件,Zip,zip,zf,zipfile,模块,ceshi111,ZIP
From: https://www.cnblogs.com/wbcde116/p/18051502

相关文章

  • python hashlib模块详解
    hashlib是python自带的加密模块,提供了一些基础常用的加密方式,如:md5(),sha1(),sha224(),sha256(),sha384(),sha512(),blake2b(),blake2s() Hash对象提供了4个方法: --update(data):更新hash对象的字节数据,data是需要加密的文本内容,需要转为bytes类型,如果”abc123”.en......
  • time模块
    Time模块importtime时间戳指从1970年1月1日0时0分0秒到指定时间之间的秒数,时间戳是秒,可以使用到2038年的某一天UTC时间世界约定的时间表示方式,世界统一时间格式,世界协调时间!夏令时在夏令时时间状态下,时间会调块1个小时时间元组是使用元祖格式表示时间的一种方式格式......
  • EPICS synApps modbus模块-Copy
    原文链接:EPICSsynAppsmodbus模块_epicssynappswin-CSDN博客在EPICS下用于Modbus协议的驱动支持Modbus概要MODBUS是一个应用层消息协议,位于OSI模块的第7层,它在在不同总线类型或网络上连接的设备之间提供了客户端/服务器通信。它一般用于用I/O系统通信,包括可编程逻辑控制器(P......
  • 详解Python中sys模块的功能与应用
    本文分享自华为云社区《深入Python:sys模块的功能与应用详解》,作者:柠檬味拥抱。在Python的标准库中,sys 模块是一个常用而强大的工具,它提供了与Python解释器交互的函数和变量。本文将介绍sys模块的一些常用函数和方法,并通过实际的代码实例来解析它们的用法。1.sys.argv-命令......
  • MySQL之pymysql模块
    Navicat软件我们在终端操作MySQL,既没有自动操作也无法保存,不方便开发,所以我们使用Navicat,Navicat内部封装了所有的操作数据库的命令。我们在使用它的时候只需要鼠标点击即可完成操作,无需书写SQL语句。详细参考:Day48-04navicat基本使用_哔哩哔哩_bilibili注释语法在navicat......
  • 并发编程之asyncio模块
    引言Python中的协程:协程是一种轻量级的用户级线程,它在单线程内执行,不会阻塞主线程,可以在多个任务间轻松地切换,因此可以用于实现异步I/O操作。协程的实现方式与生成器非常相似,通过使用yield语句来暂停和恢复执行。协程可以与asyncio库配合使用,来实现异步I/O操作。这种方式可以......
  • 并发编程之Gevent模块
    Gevent的介绍greenlet已经实现了协程,但是这个还要人工切换,这里介绍一个比greenlet更强大而且能够自动切换任务的第三方库,那就是gevent。gevent内部封装的greenlet,其原理是当一个greenlet遇到IO操作时,,比如访问网络,就自动切换到其他的greenlet,等到IO操作完成,再在适当的时候切换回......
  • maven 包管理平台-05-multi module 多模块
    拓展阅读maven包管理平台-01-maven入门介绍+Maven、Gradle、Ant、Ivy、Bazel和SBT的详细对比表格maven包管理平台-02-windows安装配置+mac安装配置maven包管理平台-03-mavenprojectmaven项目的创建入门maven包管理平台-04-mavenarchetype项目原型maven包......
  • Python模块之urllib url编码
    模块作用简介:Python模块之urlliburl编码官方英文帮助:https://docs.python.org/3/library/官方简体中文帮助:https://docs.python.org/zh-cn/3/library/必要操作:>>>importurllib安装:python3内置函数,无需安装如果像在py3里装py2的版本,需要指定版本号例......
  • Python日志logging模块
    Python日志logging模块logging---Python的日志记录工具—Python3.12.2文档Pythonlogging模块的基本使用、进阶使用详解_python中logging模块详解-CSDN博客logging模块架构日志级别默认的级别是“WARNING“,意味着只会追踪该级别及以上的事件。级别何时使用......