2009年5月14日 星期四

利用python找關鍵句

這個問題起源於我的好室友問我的一個小題目(還真是看的起我..汗..),他想要寫一個程式可以分析一篇文章,再利用關鍵字選出有出現關鍵字的句子,這不是很難的問題,因此也正好拿來練習不熟的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月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。

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)

說不定以後用的著∼