是否可以使用tarfile
从TAR存档中删除某个文件?
例如:
如果x.tar
文件包含a.txt
,b.txt
和c.txt
文件,是否可以删除a.txt
?
换句话说:是否存在任何python解决方案来实现这样的目标:
tar -vf x.tar --delete a.txt
?
答案 0 :(得分:1)
不直接使用tarfile
,尽管可能还有其他库。您可以快速破解文件,然后重新创建tar
减去要删除的文件。
答案 1 :(得分:0)
我遇到了类似的问题,最终使用7z命令行(7za.exe),因为它比Python的 tarfile 支持更多功能,包括从存档中删除文件。
此解决方案的缺点是您需要随程序一起携带7za.exe文件。
在您的情况下,您可以使用类似的
os.system("7za d x.tar a.txt")
但是请记住,os.system
已过时,您应该使用subprocess
。从未使用过,所以我真的无能为力。