tornado学习 day2

全局参数的定义、存储、转换

定义参数

利用tornado.options.define()函数,其中参数包括name, default(默认值), type(变量类型,str,int, float等),multiple(设置变量是否可以为多个值,默认是fault),help(选项变量的帮助提示信息)

用options.define()函数定义的参数,都会变成tornado.options.options的属性,比如我定义了个port变量,使用时就是tornado.options.options.port

配置tornado服务器对象的三种方法

1. 命令行获取

程序第一行加上 

tornado.options.parse_command_line()

命令行

 python server.py --port=9000 --content=happy, good, nice

2. 配置文件

程序第一行加上 

tornado.options.parse_config_file("config")

config是一个普通的文本文件,里面写

port=9000

content=[happy, good, nice]

3. 新建一个config.py

此时这个py文件相当于一个模块被import进来,就不用import tornado.options了

config.py里定义一个字典

options={

"port" = 8080

"list" = ["happy", "good", "nice"]

}


tornado.httpserver 

首先,接昨天的那个代码

app.listen(port)这个函数实现的是:返回http server对象,并且绑定并监听指定port。

如果单单只想得到一个http server,需要import tornado.httpserver。这个模块顾名思义,就是实现和http服务器有关的功能。

httpServer=tornado.httpserver.HTTPServer(app)  #1. 返回http server对象

接着绑定并监听指定端口

httpServer.listen(80)  #2. 监听80端口

上述两行实现的功能=

app.listen(80)

开启多进程

httpServer.bind(9000)

httpServer.start(5)   #start(self,num_process)

然鹅我的代码运行时遇到了 module 'os' has no attribute 'fork' 的错误,如下图(网突然不行了,上传不上来,算了)

百度结果是

fork这个系统命令,只在linux中才有用,如果你是在windows, win7、winxp中运行的话就会出错。所以把上面的python 文件拷贝到linux的系统中再运行就没问题了。

哈哈哈哈哈神奇哦。也就是说windows下的tornado不能实现多线程???

今天的学习就是酱!明天继续努力吼~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 以Django为代表的python web应用部署时采用wsgi协议与服务器对接(被服务器托管),而这类服务...
    大熊_7d48阅读 2,072评论 0 3
  • 官方文档中文文档Tornado概览浅谈Python Web 框架:Django, Twisted, Tornado...
    一只写程序的猿阅读 42,595评论 7 50
  • tornado框架是一款相较于其他web framework处理服务器性能问题更加强健的轻量级的强大的Pytho...
    恶人未满阅读 7,198评论 3 10
  • Python web第二个重要的框架——tornado官方中文文档(http://tornado-zh.readt...
    依旧丶森阅读 560评论 0 0
  • 1.tornado是一个异步的http框架 2.常用模块 importtornado.httpserverimpo...
    a荷包蛋阅读 837评论 0 0