上周的業餘時間一直在弄python,基本上算是初次接觸吧,感覺很有趣,就寫一些這些天來的流水賬吧。
起因是在工作中需要將一些產品中的copy right資訊進行更換,如果手工的話工作量巨大想想還是寫個小工具吧。再想想最近python很流行那就用它寫吧。
python是個解釋性的非類型強制的語言,我覺得最大的特點就是程式塊和階層式用縮排體現的,大括弧小括弧都弱爆了,很新奇。
這個小工具到昨天已經寫完了,斷斷續續的寫,遇到了一些麻煩。
1. 選擇了pyDev這個Eclipse外掛程式進行python代碼的編寫。
2. 寫了查詢關鍵字部分的代碼, 用到了幾個python包:
os 包,處理跟作業系統相關的如檔案路徑等。
fileinput, python 處理檔案行
re, Regex
寫完後試了試,發現問題了:除了查出了正確的結果外還對目錄下的的隱藏檔案夾下的檔案進行了搜尋,在我的需求中這個事沒必要的,應該將隱藏檔案過濾掉。google找辦法:使用win32file擷取檔案夾/檔案的屬性查看是否隱藏。實施的過程中遇到了點麻煩:在代碼中使用import win32file總是報錯,無法匯入這個包,不能吧,win2file已經安裝完成了,沒辦法再次google, 最後發現這是pydev的一個問題,在pydev中使用第三方的庫時,必須在windows->reference->PyDev->interpreter->forced
build中手動將這個庫引入才能使用,我勒個神,照做,果然work了。但是麻煩又來了,隱藏檔案還是被掃描了,在確認用法正確後最終發現問題:該隱藏檔案夾下的檔案並不是隱藏屬性的,隱藏屬性的只是檔案夾,我靠,只好又過濾檔案夾。完成後一試,ok了。
3. 接著寫替換字串的代碼,這個比較順利,完成。
string: python中處理字串的庫
4. 完成後我想想為了好用再加一個介面吧了,也不差這一步。
wx: 一個提供介面編寫的庫
怎麼說呢,python寫介面還是比較簡單的,照著例子寫,寫出來的基本都不賴。
5. 基本該弄的逗弄了,想想還是再進一步,打包成exe檔案吧,說幹就幹,查了查有個三方庫:py2exe是幹這個的於是下下來開始搗鼓,不多久報錯: 無法找到以來的dll庫,報錯報錯哥都習慣可,google之,說是需要virtual studio的一個msvcr90.dll,好吧,給你,然後又要manifest檔案,好吧,給。搗鼓了一個多小時,這個錯誤還是頑固的報著,是在無奈了我開始懷疑這個三方庫的正確性,轉移了google的重點,果然,這個工具對64位windows+python2.7的支援上卻又問題,我操,浪費我一個多小時。後來發現有個pyinstall的三方庫也能做這個工作,趕緊轉移,這次很順利,exe被順利的弄出來了,哈,我第一用python做出來的東西是這個樣子的:有對源碼感興趣的,請告之郵箱。