ZipFile模块

一、任务描述

  本实验任务主要对ZipFile模块进行一些基本操作,通过完成本实验任务,要求学生熟练掌握zipFile模块,并对ZipFile模块的基本操作进行整理并填写工作任务报告。

二、任务目标

1、掌握ZipFile模块的函数

三、任务环境

Ubuntu16.04、Python2.7

四、任务分析

  ZIP文件格式是一个通用的压缩包,本模块主要提供了对这种格式文件进行创建、读取、写入、增加和读取文件列表。本模块不支持多卷压缩的功能,普通的ZIP文件只能4G大小,如果想使用更大的文件要使用ZIP64扩展方式。本模块支持打开有加密的压缩包文件,但不支持创建加密的压缩包文件,并且解密的速度比C语言的方式实现要慢。

五、任务实施

  步骤1、环境准备

  右击Ubuntu操作系统桌面,从弹出菜单中选择【Open in Terminal】命令 打开终端。

  通过【cd /home】切换到home目录下。【ls】查看该目录下的所有内容。

图1 切换目录

  【mkdir zip】在home目录下创建zip文件夹。

图2 创建文件夹

步骤2、压缩文件夹

  【cd soft/zipresourse】切换目录,【ll】查看要压缩的文件夹下的所有内容。

图3 切换目录

  【cd /home/zip】切换到zip目录下,【vim zip1.py】回车后创建并编辑名为zip1的Python文件

图4 创建Python文件

  回车后进入编辑框内,按键盘【i】进入编辑状态,编译如下程序。

  zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])

  创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,默认值为’r’,表示读已经存在的zip文件,也可以为’w’或’a’,’w’表示新建一个zip文档或覆盖一个已经存在的zip文档,’a’表示将数据附加到一个现存的zip文档中。参数compression表示在写zip文档时使用的压缩方法,它的值可以是zipfile. ZIP_STORED 或zipfile. ZIP_DEFLATED。如果要操作的zip文件大小超过2G,应该将allowZip64设置为True。

图5 编辑Python文件

  os.walk()返回一个三元tupple(dirpath,dirnames,filenames)

  其中第一个为起始路径,

  第二个为起始路径下的文件夹,

  第三个是起始路径下的文件.

  dirpath是一个string,代表目录的路径,

  dirnames是一个list,包含了dirpath下所有子目录的名字,

  filenames是一个list,包含了非目录文件的名字.这些名字不包含路径信息,如果需要得到全路径,需要使用 os.path.join(dirpath, name).

图6 编辑Python文件

  编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框,【python zip1.py】执行zip1的Python文件。【ll】发现该文件夹下生成一个myname.zip的压缩包。

图7 运行Python文件

步骤3、解压缩

  【vim zip2.py】回车后创建并编辑名为zip2的Python文件。

图8 创建Python文件

  回车后进入编辑框内,按键盘【i】进入编辑状态,输入如下程序。

  参数’r’,表示读已经存在的zip文件。

  ZipFile.namelist() 获取zip文档内所有文件的名称列表。

  ZipFile.extract(member[, path[, pwd]])

  将zip文档内的指定文件解压到当前目录。参数member指定要解压的文件名称或对应的ZipInfo对象;参数path指定了解析文件保存的文件夹;参数pwd为解压密码。

图9 编辑Python文件

  编辑完毕后,按【esc】退出编辑状态,【:wq】保存并退出编辑框,【python zip1.py】执行zip1的Python文件。【ll】发现该文件夹下生成一个zipresourse.zip的压缩包。

图10 运行Python文件

  【cd zipresourse】切换到解压后的zipresourse目录下,【ll】查看该目录下的文件信息。

图11 查看目录信息

猜你喜欢

转载自www.cnblogs.com/yu-1104/p/9050505.html