Shutil make_archive 生成​​嵌套的 .zip 文件 [重复]

2024-04-05

我一直在尝试使用make_archive https://docs.python.org/3/library/shutil.html#shutil.make_archive from shutil图书馆。

这是代码(带有全面的注释):

from shutil import make_archive
make_archive(
  'zipfile_name', 
  'zip',           # archive format
  root_dir=None,   # current working dir if None
  base_dir=None)   # cwd if None 

这是目录树的示例:

folder
│   script.py
└───subfolder1
│   │   file011.txt
│   │   file012.txt
│   │
└───subfolder2
│   │   file011.txt
│   │   file012.txt
│   │
...

如果我运行我的脚本(使用上面的代码),结果是:

folder
│   script.py
└───subfolder1
│   │   file011.txt
│   │   file012.txt
│   │
└───subfolder2
│   │   file011.txt
│   │   file012.txt
│   │
└───zipfile_name.zip
│   │   same content as above (like expected)
│   │   zipfile_name.zip

...

为什么要额外加一个zipfile_name.zip被建造?另请注意,第二个存档无法打开,因为它无效。我知道如果以前没有人遇到过这个问题,但也许我的参数是错误的,这就是我问的原因。


我也遇到了这个问题。这是解决该问题的一个简单技巧:使用相对路径作为base_name:

from shutil import make_archive
make_archive(
  '../zipfile_name', 
  'zip',           # archive format
  root_dir=None,   # current working dir if None
  base_dir=None)   # cwd if None 

存档将在父目录中创建,不会干扰正在存档的目录。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shutil make_archive 生成​​嵌套的 .zip 文件 [重复] 的相关文章

随机推荐

  • 通过 UIMenuController 的 UIMenuItem 传值

    我正在使用以下方法在 UITableViewCell 中长按时显示菜单 我需要将按删除菜单项的值传递给 void numberDelete 方法 void handleLongPress UILongPressGestureRecogniz
  • 如何使 colspan 工作而不影响其他行的宽度

    我注意到a的内容td所有列上的 colspan 都会影响其他行的宽度td 谁能解释一下这是为什么以及如何让它正常工作 我有两个要求 第一行第二列应占用尽可能多的空间 展开 第二行应采用 100 宽度 在示例中使用 colspan 2 Not
  • Python Json小写nan

    我正在尝试在 python 中解析一些 json 并且我正在利用 NaN 不幸的是 我的源代码将 NaN 写为如下 foo nan 这实际上并不少见 在Python中是这样的float nan 得到 NaN 和 C 输出nan来自 NaN
  • bq 命令行工具 - 如何插入具有嵌套字段的大查询表?

    我有三个 BigQuery 表 如下所示 Employee Employee id Department id Location id Name Age 部门 Department id Department Name Department
  • 使用硬件加速内容截取 WKWebview 的屏幕截图

    我在截屏时遇到严重问题WKWebview内容当有硬件加速内容 一些在 iframe 内运行的特定赌场游戏 到目前为止 我使用了像大家建议的标准截图方式 UIGraphicsBeginImageContextWithOptions conta
  • PHP 中可选包含

    我有一个包含常规配置的配置文件 在 git 存储库中 以及一个覆盖配置属性的本地配置文件 在存储库中被忽略 现在本地配置文件包含在配置文件的开头 include once local config php 但我希望包含是有条件的 仅当文件
  • 防止 PR 完成后删除分支

    在 Azure Devops 中 我有一个带有开发分支的 git 存储库 我们从此分支创建多个功能分支 并通过拉取请求将代码合并到开发中 一旦我们完成拉取请求 功能分支就会被删除 我想阻止这种情况发生 我想保留这些功能分支 我怎样才能做到这
  • 使用 Celery 创建动态队列

    这是我的场景 当用户登录我的网站时 我会为给定用户排队一堆任务 通常每个任务需要 100 毫秒 每个用户有 100 多个任务 这些任务排队到默认的 Celery 队列中 并且我有数百个工作线程正在运行 当任务在后端完成时 我使用 webso
  • 将新的 Date() 格式设置为 EEE MMM dd HH:mm:ss zzz yyyy

    我使用 new date 显示日期 时间 目前显示的是 Thu May 31 2012 13 04 29 GMT 0500 CDT 我需要这个 Thu May 31 13 04 29 CDT 2012 我该如何格式化它 您可以使用正则表达式
  • 两个 .Net 应用程序之间的高效通信

    我目前正在用 c 编写一个 Net 应用程序 它有两个主要组件 数据生成器 生成大量数据的组件 Viewer 能够可视化生成器创建的数据的 WPF 应用程序 这两个组件目前是我的解决方案中的两个单独的项目 此外 我正在使用棱镜4 0框架 以
  • 安排 Web Api 方法按设定的时间间隔运行

    在我当前的项目中 需要安排一个方法以设定的时间间隔运行 例如每周一次 目前这是通过 Windows 服务创建 HttpClient 并点击所需的控制器方法来完成的 我想知道这是否可以在 Web Api 项目本身中实现自动化 而不是使用外部服
  • JsonIgnore 在 System.Web.Mvc.Controller 中不起作用

    我有一个 Web API 项目和一个带有一些属性的简单类 其中一些已标记
  • Android SQLite 数据库,为什么删除表并在升级时重新创建

    在我正在关注的教程以及更多地方我看到了这一点 onUpgrade gt 删除表 如果存在 然后重新创建表 这样做的目的是什么 private static class DbHelper extends SQLiteOpenHelper pu
  • 使用 ggplot R 处理多图

    我有一个大数据框 我正在使用 ggplot ggplot geom line data DATA aes logl PercPos group name col blue geom line data DATA aes logl PercN
  • 法新社的“find_theorems”

    我怎样才能使用find theorems搜索整个正式证据档案馆 AFP 的机制 我已将存档下载到我的计算机上 并且可以从中导入理论 例如 如果我写imports Kleene Algebra Kleene Algebra Models那么该
  • 在 SQL 中组合连续行中特定列的值

    我正在将日志导出到 SQL 问题在于 如果消息列的长度超过 800 个字符 则日志记录 API 会对其进行修剪 并使用消息的其余部分创建新条目 我使用 logparser 将这些数据直接导出到 SQL 中 因此 对于其余的讨论 我们假设我必
  • MySQL 使用 Grandtotal 进行行小计

    我需要创建一个 MariaDB SQL 它允许我对两列 借方和贷方列 求和以获得差额 并返回每种不同帐户类型的小计 表格如下 Account Debit Credit acc1 1 2 acc1 1 4 acc2 3 2 acc2 2 1
  • 组合列并删除 NaNs Pandas

    如果我有一个像这样的 pandas 数据框 a1 0 116667 NaN NaN a2 NaN 0 516667 NaN a3 NaN 0 006667 NaN a4 NaN NaN 0 426667 a5 NaN 0 506667 Na
  • 导航到页面会增加内存使用量 Windows Universal 8.1

    我正在创建一个 Windows Universal 8 1 应用程序 每次我导航到一个页面 然后导航回来 然后再次导航到该页面 该页面的新实例就会保存在内存中 显然 垃圾收集器会在一段时间后释放内存 但是如果不需要 我宁愿不使用内存 有没有
  • Shutil make_archive 生成​​嵌套的 .zip 文件 [重复]

    这个问题在这里已经有答案了 我一直在尝试使用make archive https docs python org 3 library shutil html shutil make archive from shutil图书馆 这是代码 带