美文网首页
tornado学习 day2

tornado学习 day2

作者: Jessieee_Y | 来源:发表于2019-02-10 22:35 被阅读0次

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

    定义参数

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

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

    相关文章

      网友评论

          本文标题:tornado学习 day2

          本文链接:https://www.haomeiwen.com/subject/bsgxeqtx.html