在Python中,有没有办法使用shutil.make_archive()
函数并将文件压缩设置为zipfile.ZIP_STORED
? (即未压缩)
文档显示有很多可选参数,但没有一个设置文件压缩:
shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
最佳答案
不,没有办法用 shutil.make_archive
来做到这一点。
如果 the docs 中缺少相关标志证据不足,可以看the source .
特别是在 line 683您可以看到,如果您的 Python 具有 zipfile
模块,则它会显式传递 compression=zipfile.ZIP_DEFLATED
,而后备代码位于 line 634除了 -r
和 -q
之外,不会将任何参数传递给 zip
命令行工具。
这是一个高级函数,可以使简单的情况变得更容易;如果你想做任何 zip
/tar
/gztar
/bztar
特定的事情,你可以而且应该,使用底层库。
当然,如果您经常需要此功能,您可以编写自己的类似 make_archive
的包装器(只需从 shutil
中复制相关代码并修改您的副本)。
关于python - 将 Shutil.make_archive 与 zipfile.ZIP_STORED 一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15750429/