zoukankan      html  css  js  c++  java
  • 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 查看目录信息
  • 相关阅读:
    php去除数组中重复值,并返回结果!
    SignalR 2 入门
    SignalR支持的平台
    SignalR简介
    作业调度系统quartz.net
    Oracle安装心得
    maven的项目目录解析
    web.xml的<url-parttern>的匹配规则
    Web.xml中四种验证方式
    Web.xml
  • 原文地址:https://www.cnblogs.com/yu-1104/p/9050505.html
Copyright © 2011-2022 走看看