tornado.options.define() 用来定义options选项变量的方法,定义的变量可以在全局的tornado.options.options中获取使用,传入参数: name 选项变量名,须保证全局唯一性,否则会报“Option 'xxx' already defined in ...”的错误; default 选项变量的默认值,如不传默认为None; type 选项变量的类型,从命令行或配置文件导入参数的时候tornado会根据这个类型转换输入的值,转换不成功时会报错,
可以是str、float、int、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()