20 September, 2010

用 Python 處理 doc 檔

到今天已經退伍一個禮拜了, 如果還在當兵的話, 現在應該穿著全副武裝還有不能防水的雨衣在救災吧 XD

不久前我用 Python 寫了一個小程式幫女友處理她的 doc 檔,底下是心得記錄。 基本上 doc 檔比純文字檔難處理,因為要用到 windows API, 不過這也還好,大多數的人都用 windows, 所以 Python 一定會有可用的函式庫,而網路上還可以找到幾個用 Python 處理 doc 檔的 範例。 另一個棘手的地方是,doc 檔的段落具有格式,比如字型大小、顏色、粗細、框線、上下標, 段落還可能有縮排,在處理段落時這些都要保留下來。 如果是純文字就不會有這個問題, 通常只需 string 的內建函式即可搞定,甚至不用動到 regex。 之前沒接觸過 windows API,(平常我都用 LaTeX 或是純文字檔) 要如何解決這個問題,一開始一點頭緒都沒有, 後來才想到,如果要保留格式的話,用類似滑鼠選取之後的複製、貼上就可以了, 查了一下 MSDN,果然有這兩個函式。