从Python编辑.RAR文件注释

4

好的,我需要能够从Python中编辑 .rar 文件中的注释。

我已经可以使用UnRAR查看注释。然而,我需要以一种在多个文件系统上保留元数据的方式嵌入文件,因此我真的想不到其他选择了(例如,备用数据流已经被排除在外)。

rarfile 似乎可以工作,但它在Windows下并没有正确地运行,尽管它声称具有平台独立性(或者.rar格式已经改变,但考虑到同一时期的其他实用程序仍然可以正常工作,这似乎是不可能的)。它可以打开归档文件,但它无法识别其中的注释。

为了预先回答一些不可避免的评论 -
不,我不能转换这些存档文件(有数千个)。
任何依赖于文件系统的元数据存储模式都不行,因为我需要支持NTFS、XFS和ext3。
隐藏文件会很混乱,并且您需要确保它们与相关文件一起移动,而我无法做到这一点。


另外,有没有人知道关于rar格式的内部文档的好来源?这样,我就可以开始研究rarfile,并可能找出为什么它无法处理我的.rar文件的原因。(我看过http://kthoom.googlecode.com/hg/docs/unrar.html) - Fake Name
修改归档文件的东西不是要进行提取和重新压缩吗?除非rar格式比我想象的聪明得多...如果是这样的话,我不明白为什么不能转换成更友好的存档类型。 - James
是的,那就是我希望避免的。 从我了解的 .rar 架构来看,注释是单独压缩的,所以应该是可行的。 - Fake Name
1个回答

1

我想你运气不太好。不幸的是,RAR格式是闭源且未经记录的,也没有Python模块可以实现你想要做的事情。

我所知道的唯一开源工具是The Unarchiver,它可以解压RAR文件。我认为你最好查看他们的sources并编写自己的Python工具来更改文件注释。

你也可以尝试在comp.compression论坛上提出这个问题,几年前我遇到了一个不常见的压缩格式类似的issue,那里的人能够在很短的时间内帮助我。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接