如何更好更快的進(jìn)行Python編寫?
它也是由Python編寫而成的Web Server和Web Application應(yīng)用開發(fā)框架,讓Python編寫在國內(nèi)發(fā)展得更快,得到更廣泛的應(yīng)用,作為程序員的我們是不是也該出一分力呢?
Twisted是一個(gè)純Python的網(wǎng)絡(luò)應(yīng)用框架。由于Twisted社區(qū)十分的活躍,你可以從網(wǎng)站上得到充分的文檔,讓你輕松上手;Twisted是開源的,你可以為框架增加任何的特性,只要你有好的Idea;
由于Twisted是完全由Python編寫的,本身會(huì)十分安全和穩(wěn)定。這都得益于Python本身的設(shè)計(jì)和容錯(cuò)機(jī)制;還有最最重要的一點(diǎn),就是你能夠很快的開發(fā)出遵循自定義協(xié)議的服務(wù)器。這是不是很帥呢?大家先看以下代碼:
- from twisted.internet.protocol import Protocol, Factory
 - from twisted.internet import reactor
 - class Echo(Protocol):
 - def dataReceived(self, data):
 - self.transport.write(data)
 - if data == 'q':
 - self.transport.loseConnection()
 - def main():
 - factory = Factory()
 - factory.protocol = Echo
 - reactor.listenTCP(8000,factory)
 - reactor.run()
 - if __name__ == '__main__':
 - main()
 
這里定義了一個(gè)很簡單的Echo協(xié)議:就是將client端的輸入再次回顯而已。運(yùn)行該腳本,然后利用telnet程序去連接本機(jī)的8000端口,連接上之后,你可以嘗試著敲入幾個(gè)字符,你會(huì)發(fā)現(xiàn)屏幕上會(huì)將你敲入的字符顯示了兩遍。
不需要驚訝,因?yàn)橐槐槭怯捎阪I盤輸入產(chǎn)生的屏幕輸出,而另一遍則是由服務(wù)器將接受到的數(shù)據(jù)發(fā)送回client而產(chǎn)生的輸出。如果你按下'q',就能夠斷開與服務(wù)器的連接。雖然以上實(shí)現(xiàn)的功能很簡單,但是我們確實(shí)建立了一個(gè)屬于自己的服務(wù)器,一個(gè)按照自己定義的協(xié)議提供服務(wù)的server。開發(fā)的速度是不是很快呢?
正如Twisted網(wǎng)站上說的Develop servers at lightning speed(閃電般的速度)。只要將具體的協(xié)議做進(jìn)一步的擴(kuò)展,就能建立起功能強(qiáng)大的服務(wù)器了。在這里所提到的Twisted的功能僅僅是這座寶藏的冰山一角,在這里就不進(jìn)一步去闡述了。有興趣的朋友可以從Twisted的網(wǎng)站得到更多的信息。
除了上篇和以上講述到的兩個(gè)強(qiáng)大的基于Python類庫之外,還有IronPython,一個(gè)在.NET上的Python實(shí)現(xiàn),不僅可以把Python程序編譯成IL并跟CLR良好的協(xié)作,其執(zhí)行速度還要比Python的C語言實(shí)現(xiàn)要快許多;
還有Zope也不得不提一下。它也是由Python編寫而成的Web Server和Web Application應(yīng)用開發(fā)框架,其中用到了不少新鮮的東西哦,譬如面向?qū)ο髷?shù)據(jù)庫以及CMF(Content Management Framework)等。還有Plone,一個(gè)十分出色的CMS(Content Management System),想看看以它進(jìn)行內(nèi)容管理的網(wǎng)站嗎?看看這里很cool的網(wǎng)站列表吧。你會(huì)發(fā)現(xiàn)夏威夷政府,還會(huì)發(fā)現(xiàn)太空總署。
除了Plone,還有PyGame,還有高居SourceForge下載排行榜前列的BitTorrent,還有……趕緊去瞧瞧你身邊的寶藏吧。如果你仍然對于Python持懷疑的態(tài)度,最后再聽聽牛人Eric Raymond的意見吧:Why Python? 讓Python編寫在國內(nèi)發(fā)展得更快,得到更廣泛的應(yīng)用,作為程序員的我們是不是也該出一分力呢?畢竟Python讓我們的編碼變得更加有效,也更加有趣。
【編輯推薦】















 
 
 


 
 
 
 