2010-02-13 58 views
4

我想寫一個Python函數,給定文檔文件的路徑,返回該文檔中的單詞數。這對於.txt文件來說相當容易,而且有一些工具可以讓我一起攻擊幾種更復雜的文檔格式,但我想要一個非常全面的解決方案。如何計算複雜文檔中的單詞(.rtf,.doc,.odt等)?

查看OpenOffice.org的py-uno腳本界面和支持的格式列表,將文檔加載到無頭OOo中並調用其字數統計功能似乎是理想選擇。但是,我找不到任何超出基本文檔生成的py-uno教程或示例代碼,甚至我發現的代碼片段已經過時了五年,並且不再有效。

無論是否使用OOo和Uno,如何爲各種格式的文檔獲得可靠的字數?

回答

3

負載在無頭的OOo 並調用文件的word-count function

PyODConverter是最近(11-2009)腳本使用OOo的轉換多個文件類型。查看腳本,它具有所有OOo支持文檔的基本加載。

這是怎麼開始的OOo作爲一個無頭的服務:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

然後你只需要編寫一個小的引導程序是在命令行上調用OOO,運行腳本,然後關閉OOo的。


+1

我不知道我怎麼沒有及早找到PyODConverter。我實際上找到了artofsolving.com並從那裏下載了一些代碼,但無法使用它;相比之下,PyODConverter非常易於閱讀和使用。感謝您的鏈接! – 2010-02-13 21:22:20