Python 如何计算复杂文档(.rtf、.doc、.odt等)中的字数?

Python 如何计算复杂文档(.rtf、.doc、.odt等)中的字数?,python,document,openoffice.org,word-count,Python,Document,Openoffice.org,Word Count,我试图编写一个Python函数,给定文档文件的路径,返回该文档中的字数。这对于.txt文件来说相当容易,并且有一些工具允许我一起破解对一些更复杂文档格式的支持,但是我想要一个真正全面的解决方案 看看OpenOffice.org的py uno脚本接口和支持的格式列表,将文档加载到一个无头OOo中并调用其单词计数函数似乎是理想的选择。然而,我找不到任何超越基本文档生成的py-uno教程或示例代码,甚至我找到的代码片段也过时了五年,不再工作 无论是否使用OOo和Uno,我如何获得各种格式文档的可靠字数

我试图编写一个Python函数,给定文档文件的路径,返回该文档中的字数。这对于.txt文件来说相当容易,并且有一些工具允许我一起破解对一些更复杂文档格式的支持,但是我想要一个真正全面的解决方案

看看OpenOffice.org的py uno脚本接口和支持的格式列表,将文档加载到一个无头OOo中并调用其单词计数函数似乎是理想的选择。然而,我找不到任何超越基本文档生成的py-uno教程或示例代码,甚至我找到的代码片段也过时了五年,不再工作


无论是否使用OOo和Uno,我如何获得各种格式文档的可靠字数?

这可能不是您的选项,但如果是,您可以将文档上载到Google文档,然后以.txt格式导出。谷歌通常在转换方面做得很好

您可以在此处找到相关的API:


查看登录、上载和导出部分。

在无头OOo中加载文档 并称其为

是最近(11-2009)使用OOo转换多种文件类型的脚本。看看这个脚本,它基本上加载了所有OOo支持的文档

以下是OOo作为无头服务的启动方式:

soffice-headless-accept=“套接字,主机=127.0.0.1,端口=8100;urp;”-nofirststartwizard

然后您只需编写一个小的引导程序,在命令行上调用OOo,运行脚本,然后关闭OOo



我不知道我怎么没早点找到PyODConverter。我实际上找到了artofsolving.com并从那里下载了一些代码,但无法使用它;相比之下,PyODConverter非常易于阅读和使用。谢谢你的链接!