8.8.2 打包操作

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

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

创建一个ZIPtar的压缩包,并返回它的名称。参数base_name是创建压缩包的路径文件名称;参数format是选择打包格式,可选项:ziptarbztargztar;参数root_dir是保存压缩文件的根目录;参数base_dir是将要被压缩的开始目录,默认情况root_dirbase_dir都是当前程序运行的目录。参数ownergroup都使用当前创建文件时的关系。参数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  深圳

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

caimouse

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值