码迷,mamicode.com
首页 > 其他好文 > 详细

tornado学习

时间:2020-08-20 19:14:09      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:全局参数   handle   写入   添加   地方   multi   odi   index   col   

  • 安装
pip install tornado==4.3
  •   hello world
#coding=utf-8
import tornado.web
import tornado.ioloop         #单线程

#创建一个处理类
class IndexHandler(tornado.web.RequestHandler):
    ‘‘‘主路由处理类‘‘‘
    def get(self,*args,**kwargs):
        ‘‘‘对应的http的get请求方式‘‘‘
        self.write(‘hello world‘)


if __name__=="__main__":
    app = tornado.web.Application([
        (r"/",IndexHandler),
    ])
    app.listen(8000)
    tornado.ioloop.IOLoop.current().start()     #IOLoop.current返回当前线程的IOLoop实例   IOLoop.start服务监听被打开
  •   httpserver
#coding=utf-8
import tornado.web
import tornado.ioloop
import tornado.httpserver   #新引入的httpserver 模块

class Indexhandler(tornado.web.RequestHandler):    # 主路由处理类

    def get(self):  #对应的http的get请求方式
        self.write(hello itcast)
if __name__=="__main__":
    app = tornado.web.Application([
        (r"/",Indexhandler)
    ])
    http_server = tornado.httpserver.HTTPServer(app)
    # 与1_hello_world之前版本不一致的地方
    http_server.bind(8000)   # 将服务器绑定到致指定端口
    http_server.start(0)   # 指定开启几个进程,如果小于<=0,系统会根据机器硬件的CPU创建同等数目的子进程
    #
    tornado.ioloop.IOLoop.current().start()

‘‘‘说明:app.listen只能用在单进程模式中使用
http_server.listen(8000) = http_server.bind(8000)  http_server.start(1)
虽然tornado提供一次开启多个进程的方法,但是不建议使用,而是手动开启多个进程,并绑定不同的端口‘‘‘
  • options
#coding=utf-8
‘‘‘在前面的例子中都是将服务端口的参数写死在程序中,很不灵活
tornado为我们提供了一个便携的工具,tornado.options模块--全局参数定义、存储、转换。
tornado.option.define()
name 需保证全局唯一性
default 默认值,不传默认None
tyoe 未设置会根据default的值自动推断,若default也未设置,那么不会进行转换
multiple 选项变量的值是否为多个
help‘‘‘
import tornado.web
import tornado.ioloop
import tornado.httpserver   #新引入的httpserver 模块
import tornado.options

tornado.options.define("port", default=8000, type=int, help="run server on the given port.") # 定义服务器监听端口选项
tornado.options.define("itcast", default=[], type=str, multiple=True, help="itcast subjects.") # 无意义,演示多值情况
‘‘‘如: --port=9000 --itcast=python,java‘‘‘

class Indexhandler(tornado.web.RequestHandler):    # 主路由处理类

    def get(self):  #对应的http的get请求方式
        self.write(hello itcast)
if __name__=="__main__":
    app = tornado.web.Application([
        (r"/",Indexhandler)
    ])
    http_server = tornado.httpserver.HTTPServer(app)

    http_server.listen(tornado.options.options.port)
    tornado.ioloop.IOLoop.current().start()

‘‘‘
说明:1 日志: 默认日志开启 (parse_command_line()或者parse_config_file())
如果想要关闭日志功能,可以在命令行中添加--logging=none
2:配置文件,可以写入配置文件,然后再导入 具体可以参考https://blog.csdn.net/belalds/article/details/80575755‘‘‘
‘‘‘本文转载自https://blog.csdn.net/belalds/article/details/80575755‘‘‘

 

tornado学习

标签:全局参数   handle   写入   添加   地方   multi   odi   index   col   

原文地址:https://www.cnblogs.com/hifalee/p/13524913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!