簡體   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