tornado-options(3)

tornado.options.define()
用来定义options选项变量的方法,定义的变量可以在全局的tornado.options.options中获取使用,传入参数:

name     选项变量名,须保证全局唯一性,否则会报“Option 'xxx' already defined in ...”的错误;
default   选项变量的默认值,如不传默认为None;
type    选项变量的类型,从命令行或配置文件导入参数的时候tornado会根据这个类型转换输入的值,转换不成功时会报错,
      可以是str、
floatint、datetime、timedelta中的某个,若未设置则根据default的值自动推断,若default也未设置,
      那么不再进行转换。可以通过利用设置type类型字段来过滤不正确的输入。 multiple 选项变量的值是否可以为多个,布尔类型,默认值为False,如果multiple为True,那么设置选项变量时值与值之间用英文逗号分隔,而选项变量则是一个list列表
     (若默认值和输入均未设置,则为空列表[])。 help    选项变量的帮助提示信息,在命令行启动tornado时,通过加入命令行参数
--help 可以查看所有选项变量的信息
     (注意,代码中需要加入tornado.options.parse_command_line())。

实现

import tornado.web
import tornado.ioloop
import tornado.options
tornado.options.define("port", default=8000, type=int, help="run server")
class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("hello world")

def app():
    return tornado.web.Application([
        (r'/',MainHandler),
    ])
if __name__ == "__main__":
    my_app=app()
    my_app.listen(tornado.options.options.port)
    tornado.ioloop.IOLoop.current().start()
原文地址:https://www.cnblogs.com/topass123/p/13129836.html