posts - 256, comments - 1315, trackbacks - 41, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

你今天Python了吗?(下)

Posted on 2004-09-28 17:02 FantasySoft 阅读(2200) 评论(4)  编辑 收藏 所属分类: All About SoftElegant Python

        在体验了wxPython的强大之后,让我们把注意力集中到Twisted上来。在C++的世界里,你会发现一个很棒的网络应用框架,那就是ACE了;在Python的地盘,Twisted则是在网络应用框架中当之无愧的老大。
        Twisted是一个纯Python的网络应用框架。由于Twisted社区十分的活跃,你可以从网站上得到充分的文档,让你轻松上手;Twisted是开源的,你可以为框架增加任何的特性,只要你有好的Idea;由于Twisted是完全由Python编写的,本身会十分安全和稳定。这都得益于Python本身的设计和容错机制;还有最最重要的一点,就是你能够很快的开发出遵循自定义协议的服务器。这是不是很帅呢?大家先看以下代码:

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()

这里定义了一个很简单的Echo协议:就是将client端的输入再次回显而已。运行该脚本,然后利用telnet程序去连接本机的8000端口,连接上之后,你可以尝试着敲入几个字符,你会发现屏幕上会将你敲入的字符显示了两遍。不需要惊讶,因为一遍是由于键盘输入产生的屏幕输出,而另一遍则是由服务器将接受到的数据发送回client而产生的输出。如果你按下'q',就能够断开与服务器的连接。
        虽然以上实现的功能很简单,但是我们确实建立了一个属于自己的服务器,一个按照自己定义的协议提供服务的server。开发的速度是不是很快呢?正如Twisted网站上说的Develop servers at lightning speed(闪电般的速度)。只要将具体的协议做进一步的扩展,就能建立起功能强大的服务器了。在这里所提到的Twisted的功能仅仅是这座宝藏的冰山一角,在这里就不进一步去阐述了。有兴趣的朋友可以从Twisted的网站得到更多的信息。
        除了上篇和以上讲述到的两个强大的基于Python的类库之外,还有IronPython,一个在.NET上的Python实现,不仅可以把Python程序编译成IL并跟CLR良好的协作,其执行速度还要比Python的C语言实现要快许多;还有Zope也不得不提一下。它也是由Python编写而成的Web Server和Web Application应用开发框架,其中用到了不少新鲜的东西哦,譬如面向对象数据库以及CMF(Content Management Framework)等。还有Plone,一个十分出色的CMS(Content Management System),想看看以它进行内容管理的网站吗?看看这里很cool的网站列表吧。
你会发现夏威夷政府,还会发现太空总署。除了Plone,还有PyGame,还有高居SourceForge下载排行榜前列的BitTorrent,还有……赶紧去瞧瞧你身边的宝藏吧。如果你仍然对于Python持怀疑的态度,最后再听听牛人Eric Raymond的意见吧:Why Python?   
        让Python在国内发展得更快,得到更广泛的应用,作为程序员的我们是不是也该出一分力呢?毕竟Python让我们的编码变得更加有效,也更加有趣。
        Be a pragmatic programmer,从Python开始。 你今天Python了吗?        

Feedback

#1楼    回复  引用  查看    

2004-09-28 20:28 by 无名小虾 [未注册用户]
很高兴看到你的BLOG,我已经连续注意你的BLOG有一段时间了
我这两天在找工作的时候注意到现在在英国一些IT公司已经开始在招聘专门使用PYTHON,熟悉ZOPE的程序员了。
希望能够从你这看到更多的介绍性信息:)

#2楼    回复  引用  查看    

2004-09-29 00:29 by FantasySoft      
谢谢您的关注。因为我也起步不久,还请多多指教,多提建议。
同时,我觉得Python本身的发展一定会很快,因为它确实太棒了。为了成为一个pragmatic programmer,怎么可能会错过这样称手的工具呢?我想,不管现在它是否能够为我带来更多就业机会,我都会关注它的发展,因为它实在它美了。

#3楼    回复  引用  查看    

2005-06-01 08:18 by naive [未注册用户]
是的!我也同意楼上的说法!!!
期待,关注本Blog

#4楼    回复  引用  查看    

2005-06-13 17:49 by yzhang [未注册用户]
我们公司用python写的应用程序服务器大家有兴趣可以去看看

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2004-10-14 17:19 编辑过
 
另存  打印
最新IT新闻:
· 雅虎首页大变脸 阿里风格上身
· 万名Linux使用者向暴雪请愿Linux版《Diablo III》
· 56.com我乐网将全面转行 退出视频行业
· Joost借道TOM在线 将正式进军中国
· 微软副总裁公开承认Vista存在问题