在Python中有没有办法使用shutil.make_archive()
函数,文件压缩设置为zipfile.ZIP_STORED
? (即未压缩的)
该文档显示有许多可选参数,但它们都没有设置文件压缩:
shutil.make_archive(base_name, format[, root_dir[, base_dir[, verbose[, dry_run[, owner[, group[, logger]]]]]]])
答案 0 :(得分:3)
不,用shutil.make_archive
无法做到这一点。
如果the docs中缺少相关标记的证据不充分,您可以查看the source。
特别是,在line 683,您可以看到如果您的Python具有compression=zipfile.ZIP_DEFLATED
模块,则显式传递zipfile
,而line 634处的回退代码未通过除-r
和-q
之外的任何参数zip
命令行工具。
这是一个高级功能,使琐碎的案件更容易;如果你想做任何事情zip
/ tar
/ gztar
/ bztar
- 具体,你可以而且应该使用底层库。
当然,如果您经常需要这个,您可以编写自己的make_archive
- 就像包装一样(只需复制shutil
中的相关代码并修改您的副本)。