使用参数的方法有两种:
1->tornado.options.options.parse_command_line()
2->tornado.options.options.parse_config_file(path)
使用方法:
1->定义全局变量 tornado.options.define()
2->定义接受函数 tornado.options.options.parse_command_line()或者tornado.options.options.parse_config_file(path)
3->取值tornado.options.options.xx 注:xx为define中定义的参数名称
第一种方法:
import tornado.ioloop
import tornado.web
import tornado.httpserver
import tornado.options
class IndexHandler(tornado.web.RequestHandler):
def data_received(self, chunk):
pass
def get(self):
self.write("Welcome using tornado")
def make_app():
return tornado.web.Application([
(r"/", IndexHandler),
])
# 1定义全局变量
tornado.options.define("port", default=None, type=int)
tornado.options.define("list", default=[], multiple=True)
if __name__ == "__main__":
# 2定义接受函数
tornado.options.options.parse_command_line()
# 3获取list值
print("list=", tornado.options.options.list)
app = make_app()
# 3获取port值
app.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.current().start()
第二种方法:
1、需要新建一个普通文件(不是.py文件),取名为config;
内容如图:
2、使用tornado.options.options.parse_config_file("config")替换掉tornado.options.options.parse_command_line()方法即可
import tornado.ioloop
import tornado.web
import tornado.httpserver
import tornado.options
class IndexHandler(tornado.web.RequestHandler):
def data_received(self, chunk):
pass
def get(self):
self.write("Welcome using tornado")
def make_app():
return tornado.web.Application([
(r"/", IndexHandler),
])
tornado.options.define("port", default=None, type=int)
tornado.options.define("list", default=[], multiple=True)
if __name__ == "__main__":
# tornado.options.options.parse_command_line()
tornado.options.options.parse_config_file("config")
print("list=", tornado.options.options.list)
app = make_app()
app.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.current().start()
重点补充:
也可以使用配置文件的方法。
1、添加名为config的py文件
2、config.py文件中添加参数字典,如图:
3、引入文件,无需定义全局参数,无需接受函数,直接从config中获取,如下代码:
import tornado.ioloop
import tornado.web
import tornado.httpserver
import config #引入config.py文件
class IndexHandler(tornado.web.RequestHandler):
def data_received(self, chunk):
pass
def get(self):
self.write("Welcome using tornado")
def make_app():
return tornado.web.Application([
(r"/", IndexHandler),
])
if __name__ == "__main__":
# 获取config中的key
print("list=", config.options["list"])
app = make_app(config.options["port])
app.listen(tornado.options.options.port)
tornado.ioloop.IOLoop.current().start()