gpt4 book ai didi

Python:在提取过程中重命名 tar 文件中的成员

转载 作者:太空宇宙 更新时间:2023-11-03 11:34:37 27 4
gpt4 key购买 nike

前提

  • 我有一个目录/foo/bar
  • 我有一个包含目录 baz
  • 的 tar 文件

问题

将压缩包中baz的内容解压到/foo/bar

例子

存档包含:

baz/ file1.txt

源目录包含:

foo/  bar/    file2.txt

提取后我希望它是:

foo/  bar/    file1.txt    file2.txt

目前的解决方案

解压缩到一个临时目录,然后将 baz 的内容移动到目标位置,这是有效的,因为 baz 目录将始终具有相同的名称。

还有其他想法吗?

最佳答案

您可以使用 tarfile库的 extract()extractall()extractfile() 方法。您应该能够通过这种方式访问​​存档中的非顶级对象。

请注意,extractall() 中的 path 不是存档内的路径,而是您要将其解压缩到的路径,因此将 baz 放在那里将无济于事。

您可能会先调用 getmembers(),然后将列表缩减为您想要的内容,然后调用上述提取方法之一。

关于Python:在提取过程中重命名 tar 文件中的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8030284/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com