IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]8.8.2 打包操作

    caimouse发表于 2016-04-04 20:29:11
    love 0

    本模块里还提供了对文件进行压缩包创建,以及解压缩包的功能,主要使用 zipfile和 tarfile模块的功能来实现。

    shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])

    创建一个ZIP或tar的压缩包,并返回它的名称。参数base_name是创建压缩包的路径文件名称;参数format是选择打包格式,可选项:zip、tar、bztar、gztar;参数root_dir是保存压缩文件的根目录;参数base_dir是将要被压缩的开始目录,默认情况root_dir和base_dir都是当前程序运行的目录。参数owner和group都使用当前创建文件时的关系。参数logger是参考库logging.Logger。

    例子:

    #python 3.4

    import shutil

     

    print(shutil.make_archive('F:\\temp\\py\\ziptest.zip', 'zip',

                              'F:\\temp\\py\\dir1'))

    结果输出如下:

    F:\temp\py\ziptest.zip.zip

     

    shutil.get_archive_formats()

    返回当前模块支持压缩的格式列表。

    例子:

    #python 3.4

    import shutil

     

    print(shutil.get_archive_formats())

    结果输出如下:

    [('bztar', "bzip2'ed tar-file"), ('gztar', "gzip'ed tar-file"), ('tar', 'uncompressed tar file'), ('zip', 'ZIP file')]

     

    shutil.register_archive_format(name, function[, extra_args[, description]])

    注册一个新的文件压缩格式。参数name是新压缩格式的名称;参数function是执行功能的函数;参数exta_args是另外传送给压缩对象的关键字参数;参数description是描述新压缩格式的说明。

    shutil.unregister_archive_format(name)

    从支持压缩的文件列表里删除指定的格式。

     

    shutil.unpack_archive(filename[, extract_dir[, format]])

    解压一个压缩包。参数filename是将要解压的路径和文件名称;参数extract_dir是解压后放置的目录;参数format是选择解压的格式,如果没有选择,默认以将要解压文件的格式来选择解压模块。如果没有发现可以解压时,抛出异常ValueError。

    例子:

    #python 3.4

    import shutil

     

    r = shutil.unpack_archive('F:\\temp\\py\\ziptest.zip.zip',

                              'F:\\temp\\py\\abc', 'zip')

    print(r)

    结果输出如下:

    None

    本例子,把压缩包F:\\temp\\py\\ziptest.zip.zip解压到目录F:\\temp\\py\\abc里面,解压的格式是zip。

     

    shutil.register_unpack_format(name, extensions, function[, extra_args[, description]])

    注册一个新的解压格式功能。参数name是解压功能的名称;参数extensions是解压文件的扩展名称,比如.zip;参数extra_args是以序列(name, value)来传送给调用对象的参数;参数description是描述解压功能的说明。

     

    shutil.unregister_unpack_format(name)

    删除解压功能函数。参数name是解压功能的名称。

     

    shutil.get_unpack_formats()

    获取解压功能的所有格式列表。

    例子:

    #python 3.4

    import shutil

     

    r = shutil.get_unpack_formats()

    print(r)

    结果输出如下:

    [('bztar', ['.bz2'], "bzip2'ed tar-file"), ('gztar', ['.tar.gz', '.tgz'], "gzip'ed tar-file"), ('tar', ['.tar'], 'uncompressed tar file'), ('zip', ['.zip'], 'ZIP file')]



    蔡军生  QQ:9073204  深圳



沪ICP备19023445号-2号
友情链接