這個問題起源於我的好室友問我的一個小題目(還真是看的起我..汗..),他想要寫一個程式可以分析一篇文章,再利用關鍵字選出有出現關鍵字的句子,這不是很難的問題,因此也正好拿來練習不熟的python。
程式碼如下:
import sys
import re
out1=[]
source=open('test').readlines()
x_re=re.compile(r'[.?]')
find=sys.argv[1]
for i in xrange(len(source)):
for t in x_re.split(source[i]):
out1.append(t)
for x in out1:
if(x.count(find)):
print x
雖然結果不是非常完美,但也足夠了,至少我想練習的都有練習到,像是用正規表示法來切句子。
聽說他們用java寫搞的非常複雜,弄了幾百行才弄出來,聽到這個我就不免在心裡偷笑。一如所有程式設計師的想法,簡單的事就要用簡單的方法解決。
2009年5月14日 星期四
2009年5月8日 星期五
在python中使用參數傳遞
參數傳遞要使用的是sys模組中的argv,要此在檔案之前要先import sys。
一個簡單的範例程式如下:
import sys
a=int(sys.argv[1])
b=int(sys.argv[2])
print a+b
這裡要注意的是參數是從1開始算,因為參數0,sys.argv[0]表示的是檔名,例如執行
import sys
print sys.argv[0]
就會出現檔名,如test.py
在執行時只要輸入
python test.py 1 2
就會可以出現執行結果,3。
一個簡單的範例程式如下:
import sys
a=int(sys.argv[1])
b=int(sys.argv[2])
print a+b
這裡要注意的是參數是從1開始算,因為參數0,sys.argv[0]表示的是檔名,例如執行
import sys
print sys.argv[0]
就會出現檔名,如test.py
在執行時只要輸入
python test.py 1 2
就會可以出現執行結果,3。
2009年5月4日 星期一
記錄一下opensoure的網頁應用程式
* Laconica (Twitter)
* Elgg (Facebook)
* WordPress (Blogger)
* Pligg (Digg)
* PHPmotion (Daily Motion)
* Piwik (Google Analytics)
* Tiny Tiny RSS (Google Reader)
* AfterLogic (Google Mail)
* GForge (Google Code)
* osTube (YouTube)
* MyOwnSpace (MySpace)
* Magento (Amazon)
* Gallery (Flickr)
* AtMail (Hotmail)
* eyeOS (Windows)
說不定以後用的著∼
* Elgg (Facebook)
* WordPress (Blogger)
* Pligg (Digg)
* PHPmotion (Daily Motion)
* Piwik (Google Analytics)
* Tiny Tiny RSS (Google Reader)
* AfterLogic (Google Mail)
* GForge (Google Code)
* osTube (YouTube)
* MyOwnSpace (MySpace)
* Magento (Amazon)
* Gallery (Flickr)
* AtMail (Hotmail)
* eyeOS (Windows)
說不定以後用的著∼
2009年4月26日 星期日
openoffice math 筆記
其實我覺得office 2007的方程式編輯器的功能已經很好用了,功能也頗為齊全,甚至可以打出一些math打不出來的式子,還好這種情況不太多。不過在打一大串式子時,math的好處就瞬間浮現,因為不再要用滑鼠移到移去選要用的樣式,也不用點來點去找輸入的位置。但是math還是有些小問題要解決,以下是我遇到並解決的問題。
1. 如何在math中打出and?
and是math中的保留字,如果直接打and的話就會出現特殊符號,預設字型是斜體,所以可以輸入
ital "and"
就可以打出and,其中雙引號是告訴math要直接輸出字串。
2. 如何打出鑲嵌在文字中的方程式?
似乎沒有指令可以做到這件事,不過好險,可以用選的。只要在勾取format->text mode就可以實現這個效果。
1. 如何在math中打出and?
and是math中的保留字,如果直接打and的話就會出現特殊符號,預設字型是斜體,所以可以輸入
ital "and"
就可以打出and,其中雙引號是告訴math要直接輸出字串。
2. 如何打出鑲嵌在文字中的方程式?
似乎沒有指令可以做到這件事,不過好險,可以用選的。只要在勾取format->text mode就可以實現這個效果。
2009年4月21日 星期二
修改mp3tag的編碼
編碼問題在linux中早已履見不鮮,尤其是在播放音樂時。
當聽著歌卻只能看著亂碼的歌名實在是一件很不快樂的事情。
此時便可使用mutagen這個用python寫的程式來改編碼。
首先當然要先安裝mutagen
emerge mutagen
再來就可以切換到想要轉換編碼的目錄之下進行編碼轉換了。
再輸入
mid3iconv -e big5 *.mp3
就大功告成了,之後就可以在amarok中顯示正確的歌名了!
若是想要大量修改編碼,則可配合find指令。例如我的歌都放在music下,這時候要先切換到music的目錄之下,再輸入
find . -iname "*.mp3" -execdir mid3iconv -e big5 {} \;
就可以一次搞定全部了!
當聽著歌卻只能看著亂碼的歌名實在是一件很不快樂的事情。
此時便可使用mutagen這個用python寫的程式來改編碼。
首先當然要先安裝mutagen
emerge mutagen
再來就可以切換到想要轉換編碼的目錄之下進行編碼轉換了。
再輸入
mid3iconv -e big5 *.mp3
就大功告成了,之後就可以在amarok中顯示正確的歌名了!
若是想要大量修改編碼,則可配合find指令。例如我的歌都放在music下,這時候要先切換到music的目錄之下,再輸入
find . -iname "*.mp3" -execdir mid3iconv -e big5 {} \;
就可以一次搞定全部了!
2009年4月20日 星期一
在linux上快速分享檔案
若欲在linux上分享檔案卻不想設定任何伺服器,那你需要的就是python。只要在終端機下先切換到你要分享的目錄,再輸入
'python -m SimpleHTTPServer'
接下來只要在瀏覽器上輸入http://:8000/就可以了!
雖然可能有些許上功能的限制,但是還是個快速方便又簡單的好東西。
'python -m SimpleHTTPServer'
接下來只要在瀏覽器上輸入http://
雖然可能有些許上功能的限制,但是還是個快速方便又簡單的好東西。
足跡會成為養份
從很久以前我就有一個想法,那就是我認為不管做任何事,它都是有幫助的,不管是在遙遠的未來或是當下。自認為這是個很好的想法,也因此我一直惦記著它。從此以後,不管是做自己覺得再不願意或是再無聊再無用的事情時,都會先想想這個想法,如此,才會有繼續下去的動力。不過卻一直沒有機會把這個想法寫出來,原因是因為找不到一句簡潔的話表示之,就在一個無意的情之下,這句簡潔有力的話就這麼被我找到了,這篇文章也就應運而生。
"足跡會成為養份"
這句話的由來是這樣子的,一位一輩子務農的父親,他非常的專注於他的農事,常常去田裡走來走去以照顧作物。他就用了這一句話來告訴他的孩子為什麼要這麼做,他的孩子在聽了這句話就很感動,之後亦如同他的父親,把自己的足跡當成給作物的養份。有了這種心態,才得以種得完美的作物!
我們的生活亦是如此,即便是再無趣的事情,它都算是我們的足跡,即便是再簡單熟悉的事情,依然還會有可能從中得到新的領悟。有了這些足跡當成我們未來的養份,我們才有成功的可能。
"足跡會成為養份"
這句話的由來是這樣子的,一位一輩子務農的父親,他非常的專注於他的農事,常常去田裡走來走去以照顧作物。他就用了這一句話來告訴他的孩子為什麼要這麼做,他的孩子在聽了這句話就很感動,之後亦如同他的父親,把自己的足跡當成給作物的養份。有了這種心態,才得以種得完美的作物!
我們的生活亦是如此,即便是再無趣的事情,它都算是我們的足跡,即便是再簡單熟悉的事情,依然還會有可能從中得到新的領悟。有了這些足跡當成我們未來的養份,我們才有成功的可能。
訂閱:
文章 (Atom)