tornado学习 day2

2019-02-10  本文已影响0人  Jessieee_Y

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

定义参数

利用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不能实现多线程???

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

上一篇下一篇

猜你喜欢

热点阅读