当前位置: 移动技术网 > IT编程>脚本编程>Python > Tornado—options.define()方法与options.options解读

Tornado—options.define()方法与options.options解读

2019年12月11日  | 移动技术网IT编程  | 我要评论

网上轻纺城,阳光路上全集,8l9873

tornado为我们提供了一个便捷的工具,tornado.options模块——全局参数定义、存储、转换。

tornado是facebook开源的非阻塞web容器,类似java的netty,tornado.options是负责解析tornado容器的全局参数的,同时也能够解析命令行传递的参数和从配置文件中解析参数。

tornado.options默认是定义为单例模式的,通过tornado.options.options对象来维护全局参数,如果在线程中需要维护自己的变量,也可以使用tornado.options. optionparser对象来维护参数。tornado.options.options就是通过实例optionparser的对象来实现的,而且把define、parse_command_line、parse_config_file放到tornado.options 包中,可以直接使用,与调用tornado.options.options的方法是一致的。

tornado.options.define()是用来定义options选项变量的方法,定义的变量可以在全局的tornado.options.options中获取使用。

# -*- coding:utf-8 -*-

import tornado.web         # web服务
import tornado.ioloop      # i/o 时间循环
import tornado.httpserver  # 新引入httpserver模块,单线程的http服务
from tornado.options import define, options
 
define("port", default=8066, type=int, help="run on the given port")
define("domain", default=[], type=str, help="run on the given domain", multiple=true)
 
class mainhandler(tornado.web.requesthandler):
    def get(self):
        self.write("hello world!")
 
app = tornado.web.application([
        (r"/index", mainhandler),
    ])
 
if __name__ == "__main__":
    tornado.options.parse_command_line()            # 如果命令行没有传值,则使用默认值
    tornado.options.parse_config_file("./config")   # 引用config文件里面的值,文件内容:port=8006
    print tornado.options.options.port  
 
    http_server = tornado.httpserver.httpserver(app)
    http_server.listen(options.port)
    # tornado.ioloop.ioloop.current().start()
    tornado.ioloop.ioloop.instance().start()

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网