繁体   English   中英

Python:使用 tarfile 从 TAR 存档中删除文件

[英]Python: Delete file from the TAR archive using tarfile

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

例如:

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

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

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

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

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

此解决方案的缺点是您需要随程序一起携带 7za.exe 文件。

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

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

但是请记住, os.system subprocess 从未使用过它,所以我真的帮不上什么忙。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM