Tornado初学篇(五) Tornado.options模块 配置文件传参(普通文件)

普通文件的config也不怎么使用

一、首先在文件同级下新建一个名为config的普通文件(Windows下叫文本文件,Linux下叫普通文件)

Tornado初学篇(五) Tornado.options模块 配置文件传参(普通文件)_第1张图片

二、打开config文件,输入以下内容

Tornado初学篇(五) Tornado.options模块 配置文件传参(普通文件)_第2张图片

三,代码如下
 

import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options

# 定义一个默认值为8888,类型为整型
tornado.options.define('port', default=8888, type=int)
# 接收一个列表,类型为字符串
tornado.options.define('list', default=[], type=str, multiple=True)


class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        self.write('fuck off 灭霸!')


if __name__ == '__main__':
    # 使用配置文件传参
    tornado.options.parse_config_file("config")
    # 由于我们定义了一个列表变量
    print("list = ", tornado.options.options.list)
    # 打印从命令行获取的端口号
    print("port= ", tornado.options.options.port)
    app = tornado.web.Application(
        [
            (r'/', IndexHandler)
        ]
    )
    httpServer = tornado.httpserver.HTTPServer(app)
    # 获取命令传的值
    httpServer.bind(tornado.options.options.port)
    # 开启进程
    httpServer.start(1)
    tornado.ioloop.IOLoop.current().start()

注解:在实例化Application之前运行配置文件,由于py文件和配置文件是同级,所以直接写入名称即可

四、运行方式:直接运行py文件即可 如下图所示

Tornado初学篇(五) Tornado.options模块 配置文件传参(普通文件)_第3张图片

PS   缺点:

  1. 不支持字典类型
  2. 书写格式需要按照python语法要求,如list  就只能写成
    list=["goods","nice","fuck_off"]

你可能感兴趣的:(Tornado)