`

你今天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了吗?        

分享到:
评论

相关推荐

    Python 今天吃什么小程序 Python源码

    Python 今天吃什么小程序 Python源码Python 今天吃什么小程序 Python源码Python 今天吃什么小程序 Python源码Python 今天吃什么小程序 Python源码Python 今天吃什么小程序 Python源码Python 今天吃什么小程序 Python...

    python项目——今天吃什么程序.zip

    python项目——今天吃什么程序.zip python项目——今天吃什么程序.zip python项目——今天吃什么程序.zip python项目——今天吃什么程序.zip python项目——今天吃什么程序.zip python项目——今天吃什么程序.zip ...

    文章:python干饭神器-今天吃什么?python告诉你 的源代码

    标题中的“python干饭神器-今天吃什么?python告诉你”指的是一个使用Python编程语言开发的小程序,这个程序能够帮助用户决定每天吃什么,为用户提供餐饮选择的灵感。在日常生活中,人们可能会面临选择困难,特别是...

    python实战项目源码22 今天吃什么小程序.zip

    总之,"Python实战项目源码22 今天吃什么小程序"是一个理想的实践平台,它不仅能让你提升Python编程技能,还能让你接触到小程序开发的各个环节,增强实际项目开发经验。通过这个项目,你可以锻炼解决问题的能力,...

    基于python实现的今天吃什么程序源代码.zip

    基于python实现的今天吃什么程序源代码 基于python实现的今天吃什么程序源代码 基于python实现的今天吃什么程序源代码 基于python实现的今天吃什么程序源代码 基于python实现的今天吃什么程序源代码 基于python实现...

    基于python的一款今天吃什么小程序源码

    标题中的“基于python的一款今天吃什么小程序源码”指的是一个使用Python编程语言开发的小程序,它的主要功能可能是为用户提供每日饮食建议。这样的小程序通常会结合随机选择、用户偏好、营养均衡等因素,帮助用户...

    Python获取昨天、今天、明天开始、结束时间戳的方法

    在Python中获取昨天、今天、明天的开始与结束时间戳,首先需要使用到datetime模块来获取当前日期以及进行日期的运算。下面会详细解释整个过程以及所涉及到的函数和方法。 首先,我们使用datetime模块中的date类来...

    基于python的今天吃什么程序源码.zip

    基于python的今天吃什么程序源码基于python的今天吃什么程序源码基于python的今天吃什么程序源码基于python的今天吃什么程序源码基于python的今天吃什么程序源码基于python的今天吃什么程序源码基于python的今天吃...

    python实现按任意键继续执行程序

    这样当自己写的python程序运行时, 突然给出这么一个提示,然后自己再来个帅气的回车,我觉得肯定给人一种非常专业的感觉,最起码自己肯定被自己迷倒了,所以今天我们就学习下这段代码,这里定义了一个函数,所以你...

    datax python3版本语法文件

    然而,初期的DataX官方版本仅支持Python 2.7,这在Python 3逐渐成为主流的今天,无疑限制了其在更广阔范围内的应用。好消息是,现在有了专门为Python 3版本优化的DataX语法文件,通过下载并替换特定文件,用户可以在...

    Python——操作Excle_pythonexcel_python_

    在Python编程中,处理Excel文件是一项常见的任务,特别是在数据分析、报表生成或自动化流程中。Python提供了多种库来方便我们操作Excel文件,其中最常用的是`pandas`和`openpyxl`。本篇文章将深入探讨如何使用Python...

    基于python的今天吃什么程序使用说明.zip

    基于python的今天吃什么程序使用说明基于python的今天吃什么程序使用说明基于python的今天吃什么程序使用说明基于python的今天吃什么程序使用说明基于python的今天吃什么程序使用说明基于python的今天吃什么程序使用...

    Python库 | rainbond-python-0.7.5.tar.gz

    今天我们将深入探讨一个特定的Python库——`rainbond-python-0.7.5`。这个库的资源以`.tar.gz`格式提供,是一种常见的压缩格式,它将多个文件打包并压缩,便于下载和存储。 `rainbond-python-0.7.5`库的命名暗示了...

    今天 平安夜 Python 送你一顶圣诞帽 @微信官方

    好吧,你不给,咱自己来,不就是个帽子嘛。 Python 在手,圣诞帽我有! OpenCV 库 加上几张圣诞帽图片,三四十行代码轻松搞定。只不过调试的时候要注意点,图像坐标和像素矩阵索引的维度别搞乱了。 大致步骤: ...

    python迷宫小游戏

    通过阅读和理解这些代码,你可以学习到如何结合Python、Pygame和AI算法来创建一个交互式的迷宫游戏。这不仅是对编程技能的锻炼,也是对AI算法应用的好机会。当你完成这个游戏,不仅可以享受到编程的乐趣,还能提高...

    基于Python的Web技术

    今天,我们将对基于 Python 的 Web 技术进行详细的介绍。 什么是 LAMP LAMP 是一种流行的 Web 开发平台,由 Linux、Apache、MySQL 和 PHP、Perl、Python 或 Ruby 等脚本语言组成。LAMP 具有开放灵活、开发迅速、...

    python绘制旋风图

    其中,`matplotlib`库是Python中最常用的数据可视化库之一,它提供了各种图表类型,包括我们今天要讨论的“旋风图”(Whisker plot),也被称为箱须图或箱线图。旋风图是一种用于展示一组数据分布情况的统计图形,它...

    数学建模30个常用算法(Python)

    数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法(Python)数学建模30个常用算法...

    Python学习-最完整的基础知识大全.pdf

    前⾯两篇⽂章分别介绍了Python的环境搭建和基本⼯具 Python学习--环境搭建 Python学习--⼯具介绍 本篇介绍Python的基础知识,关于python的基础知识学习,⽹上有很多资料,今天我就把我收藏的整理⼀下分享给⼤家!...

    Python-GPUtil是一个Python模块使用nvidiasmi从NVIDAGPU获取GPU状态

    总的来说,Python-GPUtil是Python环境下管理和监控NVIDIA GPU的得力助手,它简化了与硬件交互的过程,提高了代码的可读性和效率。通过熟练掌握和运用这个模块,开发者能够更好地优化GPU资源的使用,提升计算效率,...

Global site tag (gtag.js) - Google Analytics