totnado.options.define
从外部接收变量
tornado.options.define(name,defuault=None,type=None,multiple=Flase,help=None)
功能:
用来定义options
选项变量的方法
参数:
name
选项变量名,唯一的
default
设置选项变量的默认值
type
设置选项变量的类型,从命令行或配置文件导入参数是tornado会根据类型转换输入的值,如果未设置type,会根据default的值转换,如果default,则不进行转换.
multiple
设置选项变量是否为多个值,默认为Flase,
tornado.options.define("port",default=8080,type=int,multiple=Flase,help="this s is a port")
示例:
tornado.options.define("port",default=8080,type=int)
tornado.options.define("list",default=[],type=str)
tornado.options.options
全局options对象
,所有定义的选项变量
都会作为该对象的属性
,也就是说定义上方的变量之后,需要用它来调用
示例:
tornado.options.options.port
获取终端内容
# 从控制台获取参数信息
tornado.options.parse_command_line()
# 使用list变量的值
print("list = ",tornado.options.options.list)
httpServer = tornado.httpserver.HTTPServer(app)
# 使用port变量的值
httpServer.bind(tornado.options.options.port)
终端运行
python server.py --port=9000 --list=good,nice,handsome,coll
以上方法不建议使用
从配置文件导入参数tornado.options.parse_config_file(path)
新建一个配置文件config
port =7000
list = ["good","nice","handsome"]
此时获取参数只需要从配置文件获取即可
# 从path获取参数信息
tornado.options.parse_config_file(config)
# 使用list变量的值
print("list = ",tornado.options.options.list)
httpServer = tornado.httpserver.HTTPServer(app)
# 使用port变量的值
httpServer.bind(tornado.options.options.port)
此时运行
python server
说明
- 书写格式仍然需要按照py的语法要求写
- 调用参数时,不支持字典类型
最终版本,感觉被套路了
写py配置文件,导入
options = {
“port”:8080,
“list”:[1,2,3,4]
}