1

在 Python 中,有没有办法使用将shutil.make_archive()文件压缩设置为的函数zipfile.ZIP_STORED?(即未压缩)

文档显示有很多可选参数,但都没有设置文件压缩:

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

1 回答 1

3

不,没有办法做到这一点shutil.make_archive

如果文档中缺少相关标志不足以证明,您可以查看源代码

特别是,在第 683 行,您可以看到compression=zipfile.ZIP_DEFLATED如果您的 Python 具有该模块,它会显式传递,而第634 行zipfile的后备代码除了命令行工具之外没有传递任何参数。-r-qzip

这是一个高级函数,可以使琐碎的情况更容易;如果您想做任何zip/ tar/ gztar/特定的事情bztar,您可以并且应该使用底层库。

当然,如果您经常需要这个,您可以编写自己的make_archive类似包装器(只需将相关代码复制出来shutil并修改您的副本)。

于 2013-04-01T19:45:03.243 回答