tornado.options
options 可以让服务运行前提前设置参数,而常见的2种设置参数方式为:
1. 命令行设置
2. 文件设置
命令行解析
使用tornado.options.define
前定义,通常在模块的顶层。
然后,可以将这些选项作为以下属性的属性进行访问tornado.options.options
但要解析命令行参数时,需要使用tornado.options.parse_command_line
来解析参数
# main.py
import time
from tornado import web
import tornado
from tornado.options import define, options, parse_command_line
#define, 定义一些可以在命令行中传递的参数以及类型
define('port', default=8008, help="port to listen on", type=int)
define('debug', default=True, help="set tornado debug mode", type=bool)
#parse_command_line()
#options是一个类,全局只有一个options
class IndexHandler(web.RequestHandler):
async def get(self):
self.write("hello Tornado")
class IndexHandler2(web.RequestHandler):
async def get(self):
self.write("hello Tornado 你好")
if __name__ == "__main__":
app = web.Application([
("/", IndexHandler),
("/index/", IndexHandler2)
], debug=options.debug)
app.listen(options.port)
tornado.ioloop.IOLoop.current().start()
文件设置
port=8000
debug=True
设置好文件后,通过tornado.options.parse_config_file
来解析
tip
代码演练
from tornado import web, ioloop
from tornado.options import define, options, parse_config_file
# 定义key来接收传递进来的参数
define('port', default=8000, help='port to listen on', type=int)
define('debug', default=True, help='set debug mode', type=bool)
# 解析文件传递进来的参数
parse_config_file('./server.conf')
class IndexHandler(web.RequestHandler):
async def get(self): # 协程
self.write('Hello Tornado!!123123')
if __name__ == '__main__':
app = web.Application([
('/', IndexHandler)
],
# debug=True
debug=options.debug
)
# app.listen(8000)
app.listen(options.port)
ioloop.IOLoop.current().start()
原文地址:https://blog.csdn.net/weixin_44145338/article/details/134822422
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_50178.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。