【问题标题】:Python: Delete file from the TAR archive using tarfilePython:使用 tarfile 从 TAR 存档中删除文件
【发布时间】:2018-03-21 13:28:57
【问题描述】:

是否可以使用tarfile 从 TAR 存档中删除某些文件?

例如:

如果x.tar 文件包含文件a.txtb.txtc.txt,是否可以删除a.txt

换句话说:是否存在任何 python 解决方案来实现这样的目标:

tar -vf x.tar --delete a.txt?

【问题讨论】:

    标签: python tar tarfile


    【解决方案1】:

    不直接使用tarfile,尽管可能还有其他一些库。您可以做的快速破解是提取文件,然后重新创建 tar 减去您要删除的文件。

    【讨论】:

    • 另一个快速破解os.system('tar -vf x.tar --delete a.txt')
    • 我考虑过这种方法,但我更愿意先检查其他选项。无论如何 - 非常感谢。
    【解决方案2】:

    我遇到了类似的问题,最终使用了 7z 命令行 (7za.exe),因为它支持比 Python 的 tarfile 更多的功能,包括从存档中删除文件。

    此方案的缺点是您需要在程序中随身携带 7za.exe 文件。

    在你的情况下,你可以使用类似的东西

    os.system("7za d x.tar a.txt")
    

    但请记住,os.system 已弃用,您应该使用 subprocess。没用过,实在帮不上忙。

    【讨论】:

      猜你喜欢
      • 2013-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多