zoukankan      html  css  js  c++  java
  • Python2.7-zipfile

    zipfile 模块,提供了基本操作后缀为“zip”的文件的接口,一般使用 ZipFile 类完成操作

    1、模块方法

    zipfile.is_zipfile(filename):判断 filename 是否是一个有效的 zip 文件

    2、模块的类

    2.1 ZipFile 类,读写 ZIP 文件

    2.1.1 初始化构建类ZipFile(file[, mode[, compression[, allowZip64]]]):打开一个 ZIP 格式的文件进行读写

    参数设置:
    file:要打开的文件
    mode:打开文件方式,有 r 和 w、a,默认为 r,读取一个已存在的文件,w 会覆盖或写新文件,对一个已存在的 ZIP 文件以 a 模式打开,会把新文件加入压缩包中,如果不是 ZIP 文件,会把压缩文件加入到 file 中去(不知道会发生什么。。)
    compression:指定压缩方法,默认 ZIP_STORED,还可以是 zlib 模块下支持的 ZIP_DEFLATED
    allowZip64:默认 False,为 True 时可以操作大于 2GB 的文件

    2.1.2 实例方法

    close():关闭压缩文件,退出程序前不关闭的话会导致未写入
    getinfo(name):返回一个 ZipInfo 对象,包含压缩文件里名为 name 的信息
    infolist():返回一个列表,每个元素都是一个 ZipInfo 对象,对应压缩文件里的每个文件
    namelist():列表形式返回压缩文件里的每个文件名
    printdir():输出压缩包内容至 sys.stdout
    setpassword(pwd):设置默认密码
    open(name[, mode[, pwd]]):解压名为 name 的文件,以只读的 file-like 对象返回(有以下方法 read(), readline(), readlines(), __iter__(), next()),mode 可以为 r、U、rU,pwd 指定解压密码
    extract(member[, path[, pwd]]):解压名为 member 的文件到当前目录,path 指定解压至别的目录,pwd 指定密码
    extractall([path[, members[, pwd]]]):解压所有文件至当前目录,path 指定解压至别的目录,member 指定只解压其中的哪些文件,pwd 指定密码
    read(name[, pwd]):字节形式返回 name 的解压结果,pwd 指定密码
    write(filename[, arcname[, compress_type]]):把 filename 文件压缩,压缩包内名字为 arcname,compress_type 可以覆盖类的压缩方法
    writestr(zinfo_or_arcname, bytes[, compress_type]):把 bytes 写入压缩包内,名为 zinfo_or_arcname,compress_type 可以覆盖类的压缩方法

    2.1.3 实例属性

    debug:设置 debug 信息输出等级,默认 0,不输出,最高 3
    comment:设置 ZIP 文件的提示信息

    2.2 PyZipFile 对象

    2.2.1 PyZipFile 对象和 ZipFile 对象完全相同,只是多了一个额外方法

    writepy(pathname[, basename]):把 pathname 下 *.py[co] 文件都压缩

    2.3 ZipInfo 对象,是由 ZipFile 的 getinfo() 和 infolist() 方法生成的对象

    2.3.1 实例属性

    filename:压缩文件名
    date_time:文件最后修改时间,年、月、日、时、分、秒
    compress_type:压缩方法
    comment:提示信息
    extra:额外数据信息(不清楚指什么)
    create_system:创建压缩包的系统信息
    create_version:压缩包的 PKZIP 版本信息
    extract_version:解压需要的 PKZIP 版本信息
    reserved:一定是 0
    flag_bits:ZIP 标志位
    volume:文件头的 Volume number
    internal_attr:内部属性
    external_attr:文件外部属性
    header_offset:文件头偏移量
    CRC:压缩前文件的 crc-32 值
    compress_size:压缩后文件大小
    file_size:压缩前文件大小

    3、命令行接口

    可以用以下格式直接在命令行下调用:python -m zipfile ...
    “...”部分有以下几种格式:
    -l <zipfile>:列出压缩包内文件
    -c <zipfile> <source1> ... <sourceN>:把 N 个 source 文件压缩至 zipfile
    -e <zipfile> <output_dir>:解压 zipfile 至目标路径
    -t <zipfile>:检验是否为有效的 zipfile

    ---------------- 坚持每天学习一点点
  • 相关阅读:
    单元测试 java调用不同包下的类时,出现 NoClassDefFoundError 的解决方案
    设置 idea 运行前不去检查其他类的错误的方法
    spring在service层获取session和request
    JAVA基础 HashMap
    源码分析五(HashSet的内部实现)
    源码分析四(HashMap与HashTable的区别 )
    源码分析三(Vector与ArrayList的区别)
    ThreadPoolExecutor以及计数器CountDownLatch的使用
    使用ibatis开发遇到的问题总结
    form表单
  • 原文地址:https://www.cnblogs.com/tccbj/p/8423860.html
Copyright © 2011-2022 走看看