使用Python编辑RTF文件

4
也许这是一个愚蠢的问题,但我不理解,所以请原谅 :)
我有一个RTF文档,想要对它进行更改。例如,有一张表格,我想在代码中以面向对象的方式复制一行并更改第二行的文本。
我认为pyparsing应该是正确的方法,但我已经折腾了几个小时还是没有搞懂。我没有提供示例代码,因为我认为它都是无意义的 :/
我是否走在正确的道路上,还是有更好的方法?
有人以前做过类似的事情吗?

请在您的问题中不要使用签名 - Santosh Kumar
你能否至少发布一小段你试图解析的代码片段? - PaulMcG
1个回答

3
RTF是带有特殊“符号”的文本文档,用于创建格式。 (请参见-http://search.cpan.org/~sburke/RTF-Writer/lib/RTF/Cookbook.pod#RTF_Document_Structure尽管Perl有一个很好的RTF库),因此PyParsing是一个不错的选择。 您必须学习结构,然后解析(在我提到的页面中有Perl代码示例。如果您运气好,可以付出一些努力将它们转换为Python)

Python有一个基本的RTF模块可用。请查看 - http://pyrtf.sourceforge.net/

希望这能对您有所帮助。


另外还有两个资源: https://dev59.com/K3M_5IYBdhLWcg3wiDuA https://dev59.com/NXA75IYBdhLWcg3weY5f - SRC
是的,我看到了pyRtf,我认为它不适合。关于pyparsing……你知道一些容易理解的例子吗?比“hello, world!”更多一点?对于RTF,我找到了微软的官方描述——相当简单,但有点模糊。例如,表格行可能以“\row”或“\row \pard”结束,这有点令人困惑,但我会处理。我真正不理解的是pyparsing的概念。 - Florian Lagg
1
我想我会购买这本书:http://my.safaribooksonline.com/book/programming/python/9780596514235 - Florian Lagg
1
你看过这个页面吗?它有很多Pyparsing的例子:http://pyparsing.wikispaces.com/Examples 此外,你提到的那本书是Pyparsing的官方书籍。所以我想这将是一本不错的读物。 - SRC
我将上述内容标记为解决方案,因为它给出了正确的提示。然而,就我个人而言,我发现使用odf文件和zipfile有更好的解决方案。谢谢大家! - Florian Lagg

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