python进阶ing——创建第一个Tornado应用
每天在群里跟很多群友讨论一些问题,觉得对自己的技术提升有很大的帮助,也可以集思广益,学到一些自己以前从没有接触到过的东西,比如Tornado,最近听见群里好多朋友都在讨论这个,于是我也跟风了解了一下。
Tornado是一个高效可扩展的非阻塞式web服务器以及其相关工具的开源版本,和当前主流的web服务器框架相比,明显的区别就在于它是非阻塞式服务器,而且速度相当快,这得益于它的非阻塞方式和对epoll的合理运用。简单的了解过后,我们来看下如何安装以及使用。
对于安装,可以有多种方式,例如手动编译源码,或者用easy_install,或者用pip安装,这里我采用的是pip安装方式,只需要一条命令即可,方便快捷,毕竟用虚拟键盘敲的手疼,命令如下:
- pip install Tornado
等待安装完成即可。
然后我们来看下第一个Hello World实例:
- #!/usr/bin/env python
- # -*- coding:utf-8 -*-
- #
- # Authhor :Eric.Tang
- # Email :jeepxiaozi66@gmail.com
- # Date :13/06/02 22:17:57
- # Desc :hello,world of tornado
- #
- import tornado.ioloop
- import tornado.web
- class MainHandler(tornado.web.RequestHandler):
- def get(self):
- self.write("Hello, world")
- application = tornado.web.Application([
- (r"/",MainHandler),
- ])
- if __name__=="__main__":
- application.listen(8888)
- tornado.ioloop.IOLoop.instance().start()
然后保存为helloTornado.py。
接下来就可以执行这个文件了,那么我们这儿也有不同的执行方式,修改这个py文件的权限,使其变为可执行文件,或者直接在命令行中执行python helloTornado.py,两种方式都是可以的。
启动之后,我们就可以在浏览器中地址栏中输入localhost:8888,然后回车,就可以看到如下图的效果了:
OK,整个这篇博客也是在平板电脑上写完的,Tornado也是跑在这上面的,现在电量低于百分之三十了,触屏有点儿发飘了,关机充电,明天路上就还可以接着学习用了。晚安!
python进阶ing——创建第一个Tornado应用的更多相关文章
- Python进阶丨如何创建你的第一个Python元类?
摘要:通过本文,将深入讨论Python元类,其属性,如何以及何时在Python中使用元类. Python元类设置类的行为和规则.元类有助于修改类的实例,并且相当复杂,是Python编程的高级功能之一. ...
- Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束
Python进阶----数据库引擎(InnoDB),表的创建,mysql的数据类型,mysql表的约束 一丶MySQL的存储引擎 什么是存储引擎: MySQL中的数据用各种不同的技术存储在文件( ...
- 创建第一个python程序:‘Hello World!’
安装好python解释器就可以创建第一个仪式程序Helloworld了 1.Python程序的3种运行方式 1.1.Python解释器直接运行 在Windows或者Linux命令行输入python,进 ...
- Python进阶:函数式编程实例(附代码)
Python进阶:函数式编程实例(附代码) 上篇文章"几个小例子告诉你, 一行Python代码能干哪些事 -- 知乎专栏"中用到了一些列表解析.生成器.map.filter.lam ...
- python运维开发(二十三)---tornado框架
内容目录: 路由系统 模板引擎 cookie 加密cookie 自定义api 自定义session 自定义form表单验证 异步非阻塞 web聊天室实例 路由系统 路由系统其实就是 url 和 类 的 ...
- Python进阶 - 对象,名字以及绑定
Python进阶 - 对象,名字以及绑定 1.一切皆对象 Python哲学: Python中一切皆对象 1.1 数据模型-对象,值以及类型 对象是Python对数据的抽象.Python程序中所有的数据 ...
- Python进阶-继承中的MRO与super
Python进阶-继承中的MRO与super 写在前面 如非特别说明,下文均基于Python3 摘要 本文讲述Python继承关系中如何通过super()调用"父类"方法,supe ...
- Python进阶 - 命名空间与作用域
Python进阶 - 命名空间与作用域 写在前面 如非特别说明,下文均基于Python3 命名空间与作用于跟名字的绑定相关性很大,可以结合另一篇介绍Python名字.对象及其绑定的文章. 1. 命名空 ...
- python进阶学习笔记(一)
python进阶部分要学习的内容: 学习目标: 1.函数式编程 1.1,什么是函数式编程 函数式编程是一种抽象计算的编程模式 不同语言的抽象层次不同: 函数式编程的特点: python支持的函数式编程 ...
随机推荐
- ASP.NET Session详解(转)
ASP.NET Session详解 本文章来自:http://blog.163.com/adam601@126/blog/static/22506317200932824210996/ 当用户在 We ...
- webpack打包vue项目之后怎么启动&注意事项
参考路径:https://blog.csdn.net/cn_yaojin/article/details/80164477 参考路径:https://www.imooc.com/article/323 ...
- NXP-PN511-antenna-design-quide
NXP-PN511-antenna-design-quide 文库有下载 C1 C2
- 防火墙(入站规则)C++修改方法 以解决服务器无法连接问题
为啥要关注防火墙 今天项目中的p2p直连遇到了问题.经过排查,发现充当服务器的一端进入listen状态后,另外的客户端一端connect失败. 错误码10060(超时). 开始时怀疑客户端connec ...
- PTA(Basic Level)1028.人口普查
某城镇进行人口普查,得到了全体居民的生日.现请你写个程序,找出镇上最年长和最年轻的人. 这里确保每个输入的日期都是合法的,但不一定是合理的--假设已知镇上没有超过 200 岁的老人,而今天是 2014 ...
- [转帖]互联网同步yum服务器阿里云 reposync createrepo
https://www.cnblogs.com/withfeel/p/10635529.html 这篇文章 比较齐整 参考文章: https://www.cnblogs.com/lldsn/p/104 ...
- 02-Zookeeper介绍及安装
1 Zookeeper介绍 ZooKeeper是为分布式应用所设计的高可用.高性能且一致的开源协调服务,它提供了一项基本服务:分布式锁服务.分布式应用可以基于它实现更高级的服务,实现诸如同步服务.配置 ...
- Luogu P1600[NOIP2016]day1 T2天天爱跑步
号称是noip2016最恶心的题 基本上用了一天来搞明白+给sy讲明白(可能还没讲明白 具体思路是真的不想写了(快吐了 如果要看,参见洛谷P1600 天天爱跑步--题解 虽然这样不好但我真的不想写了 ...
- FFmpeg4.0笔记:本地媒体文件解码、帧格式转换、重采样、编码、封装、转封装、avio、硬解码等例子
Github https://github.com/gongluck/FFmpeg4.0-study/blob/master/official%20example/my_example.cpp #in ...
- docker-文件系统出错处理
Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2 2018年03月17日 22: ...