美文网首页python初学者
这些猫全打包带走!还有猫粮!——zipfile模块

这些猫全打包带走!还有猫粮!——zipfile模块

作者: 求余的小屋 | 来源:发表于2019-07-11 11:15 被阅读0次

概述

zipfile模块,是python内置的,用于处理 zip 压缩文件
平常鼠标能干的,zipfile 提供的方法也都能干!
不过大多数人还是愿意用鼠标来干... ...(小声)

优点,借助 python 中的其他<文件处理>的模块
根绝任务需要,构建脚本,可以实现例如备份重要数据的操作
可以处理大量的文件,减少出错的概率,防止丢失可怜的薪资,顺便带走所有宠物,不然要 python 有何用?

使用方法

实例

压缩文件cats.zip的内容

一、创建新的压缩文件,并添加内容

我们要把实例中的内容,添加到压缩文件中去,压缩文件命名为“cats.zip”
这里,我在命令行中操作,到实例所在的目录运行

#!python3
D:py\Auto
>>> import zipfile
>>> cats_zip = zipfile.ZipFile("cats.zip", 'w')
>>> cats_zip.write("cats", "spam.txt", compress_type=zipfile.ZIP_DEFLATED)

ok, 打包完成
我用的 'w' 文件模式(写入),意味着,当cat.zip不存在时,则会创建;
但若存在,会清空同名的压缩文件内容,再写入新内容!
如果要添加文件,到已存在的压缩文件中,则文件模式要用 'a' (添加)

二、读取压缩文件,查看包含的文件

现在我的cats_zip 的压缩文件对象还没有关闭,可以继续操作

>>> cats_zip.namelist()
>>> ['spam.txt', 'cats/', 'cats/catnames.txt', 'cats/zophie.jpg']

通过.namelist()方法,我们得到了一个压缩文件内,包含的目录/子目录,以及文件名字的列表

三、读取压缩文件内,文件的相关信息

所要读取的文件信息,必须在返回的列表中,否则会报错
现在来读取 spam.txt 的为压缩的大小,和压缩后的大小

>>> spamInfo = cats_zip.getinfo("spam.txt")
>>> spamInfo.file_size
>>> 53
>>>spamInfo.compress_size 
>>> 43

注意,这里 spam.txt 是一个新的对象,文件大小是读取对象的“属性”,后面没有一对小括号

四、解压全部内容,或者个别需要的文件

>>> cats_zip.extractall()
>>> cats_zip.extract('spam.txt')
  • 第一个是解压全部内容,默认解压到当前文件夹
  • 第二个是解压 cats.zip 中的 spam.txt ,默认解压到当前文件夹
  • 我们可以指定解压的目标路径(绝对路径)
  • 如果指定的文件路径(绝对路径)不存在,会自动创建
>>> cats_zip.extractall("C:\\Desktop")
>>> cats_zip.extract('spam.txt', "C\\Desktop")

总结

  • zipfile.ZipFile() 调用时模块名后,要注意是大写!
  • python 中,文件是对象、zip是对象... ...而且两者的操作类似
  • 打开后记得 文件对象.close(), 或者用 with ... as ...,就省心多了
  • 以后可以用这个“拖库”再跑路... ...XD?

相关文章

  • 这些猫全打包带走!还有猫粮!——zipfile模块

    概述 zipfile模块,是python内置的,用于处理 zip 压缩文件平常鼠标能干的,zipfile 提供的方...

  • 冬日暖阳

    今天下午去取快递的时候碰到一个拉着小推车的阿姨,车上放了有三大包猫粮还有两大包狗粮,阿姨手里还提着两包幼猫的猫粮,...

  • 2019.5.12 XS点位

    蓝棚子猫粮被吃光了,配好,换水。 露天院落猫粮还有一半,补充 换水。 台阶的猫粮还有,补充,换水。

  • 不看成分就买猫粮,你知道你买的是什么吗?

    猫粮决定猫生,为了让猫崽子们吃得好,我们这些铲屎官在挑选猫粮时,着实要费不少心思。如今的猫粮品牌混杂,质量参差,明...

  • 为猫咪做准备

    这几天一直在筹备猫咪的东西,没来得及看书,也来不及看纪录片。 猫粮猫砂,猫碗猫窝,小毯子,猫笼猫包,突然想起还有玩...

  • 好久不见,你安好我安心!

    近两三年不间断喂猫,每天进出地下车库都在固定的地方放点猫粮。我的车里包里习惯了备有猫粮,喝完的橙汁瓶洗净吹干装猫粮...

  • 选购猫粮有什么建议【进口猫粮】

    最新更新【猫粮】 猫粮什么牌子好又便宜【性价比猫粮推荐】 怎么选购猫粮【精选猫粮】 关于猫砂的选择【猫砂】 史上最...

  • 怎么选购猫粮【精选猫粮】

    最新更新【猫粮】 猫粮什么牌子好又便宜【性价比猫粮推荐】 选购猫粮有什么建议?【进口猫粮】 关于猫砂的选择【猫砂】...

  • 2019.2.9   朝

    近5点,准备好猫粮,狗粮,鱼罐头,水就出发了。 先到花花点位,后面碗里还剩有狗粮,前面狗粮吃没了,猫粮还有。配好猫...

  • 用 Python 管理压缩包,压缩文件一找就出现

    读取zip压缩包内文件列表 Python管理zip主要使用zipfile模块,这个模块里有一个名为 ZipFile...

网友评论

    本文标题:这些猫全打包带走!还有猫粮!——zipfile模块

    本文链接:https://www.haomeiwen.com/subject/fvcrkctx.html