在python中从tar中删除文件而不进行重写



我想删除压缩后的tarfile中的一个文件。我的项目在python 3中,但我为python 2找到了一个名为pyNMS的项目,但即使使用旧版本的python 2,我也无法使用它。我的最终目标是向tar文件添加额外的信息,这些信息可以在不重写1GB或更大的tar文件的情况下进行更改。信息文件是在文件写入后添加的,所以它在tar的末尾,但tar后来受到密码保护,所以我不能用.split((删除文件名后面的所有内容

tar命令与zip不同

没有定义/使用密码来保护内容的选项。

如果文件是加密的,那是一个不同的工具,而不是tar。

加密时无法操作tar内容。您必须首先解密,然后使用基本的tar功能执行任何必要的操作。

所以。。。如果您希望避免操纵GB的数据,则通过";注入";这是不可能的。

注意:下一个想法可能不在您的问题范围内,但它可能会提供最佳解决方案。

如果您创建了一个专用于该内容的分区,然后在默认情况下对该分区进行加密,则您可以在不加密的情况下将tar文件存储在clear中。如果环境允许您动态访问加密的文件系统,这将允许您以所希望的方式直接对tar文件执行所有操作。

此外,如果不是完全专用的分区,则可以创建加密文件,该文件可以用作分区。这篇文章解决了这种情况。

最新更新