Python打包工具shutil.make_archive详解

版权声明

本文出自 “ 幻冥极地 ” 博客 ,作者 小貘 采用 署名-非商业性使用-相同方式共享 协议。转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。
https://www.moorehy.com/archives/97

方法说明

用于创建打包文件(如:zip或tar),并返回文件的 绝对路径 名称

参数说明

  • base_name : 创建的目标文件名,包括路径,减去任何特定格式的扩展。
  • format : 压缩包格式。”zip”, “tar”, “bztar”或”gztar”中的一个。
  • root_dir : 打包时切换到的根路径。也就是说,开始打包前,会先执行路径切换,切换到root_dir所指定的路径。默认值为当前路径
  • base_dir : 开始打包的路径。也就是说,该命令会对base_dir所指定的路径进行打包,默认值为 root_dir ,即打包切换后的当前目录。亦可指定某一特定子目录,从而实现打包的文件包含此统一的前缀路径
  • ownergroup 为创建tar包时使用,默认为用户当前的 owner & group

测试用例

此处官方文档提供了一个用例为使用默认 base_dir 的情况,即打包对象为 root_dir 下的全部文件&目录,如下:

压缩包内容结果:

此处Moore补充一个使用指定 base_dir 的测试用例,用来打出包含前缀路径的压缩包(毕竟打出一个没有前缀目录的压缩包,某些情况下解包到当前路径是件比较崩溃的事情),如下:

压缩包内容结果:

提示

由于此处的 .ssh 是隐藏文件夹,所以解压后从文件管理器中可能是看不到的

参考文章

  1. Python官方文档

发表评论

电子邮件地址不会被公开。 必填项已用*标注