時時搭配著 Python,除了可以讓你的工作越來越有效率之外,還可以很快地驗證並且了解新的應用或技術。往後希望能夠多分享 Python 相關的東西。
這裡舉一個利用 Python 的有趣小應用。在工作的時候,常常會遇到一個狀況,當突然要分享一個目前正在工作的檔案給同事的時候會遇到幾種選擇 :
有的會去找隨身碟、有的找 Samba server,進階點的就會用 scp 或是 NFS 的方式分享,有的卻急著高喊:"快去開 MSN 啦!"。這些方法各有各的問題,各有各的麻煩,但如果這個時候有人提出 :"我開個網頁伺服器來分享檔案好了",大家一定會異口同聲地說:"肖ㄟ"。
其實這件事一點都不難,甚至不需要特別安裝什麼軟體,只需要人人都有的 Python 就夠了!(目前應該沒有 Linux distribution 裡面沒有 Python 的 ......)
隨時隨地打上這道指令:
python -m SimpleHTTPServer
馬上就會啟動一個 listen port 8000 的 HTTP server 並且分享當前的目錄,假定你的 IP 是 192.168.1.1,其他的使用者只需要在瀏覽器連上 http://192.168.1.1:8000/ 就可以下載你所分享的檔案了,非常簡單吧!另外,這道指令任何平台都適用喔 !
除了能夠很快速架起一個網頁伺服器之外,另外還有一個不錯的應用。有時必須要看一些用一狗票 .html 組成的文件,現在只要在文件所在的地方一樣打入這到指令,就可以輕鬆地在任何瀏覽器上觀看這份文件。
為什麼短短的一行指令能有這麼神奇的功效?其實是主要利用了 SimpleHTTPServer 這個 Python module 的 test code:
SimpleHTTPServer.py:
...
def test(HandlerClass = SimpleHTTPRequestHandler,
ServerClass = BaseHTTPServer.HTTPServer):
BaseHTTPServer.test(HandlerClass, ServerClass)
if __name__ == '__main__':
test()
SimpleHTTPServer 的 test code 會 call BaseHTTPServer 的 test code,BaseHTTPServer 處理連線的部分,SimpleHTTPServer 則處理 HTTP 相關的 request。這個 test code 除了能驗證 module 之外是否正常之外,還多了這個有趣的應用~
一步登天腳本
sharehere.py [下載]
使用方式: sharehere.py [port=8000]

1 意見:
張貼意見