当前位置: 首页 > news >正文

6-tornado配置文件的使用(命令行解析、文件设置)

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()

文件设置

创建文件server.conf,将必要的参数直接写入即可

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=Truedebug=options.debug)# app.listen(8000)app.listen(options.port)ioloop.IOLoop.current().start()
http://www.lryc.cn/news/259125.html

相关文章:

  • k8s ingress service endpoints 解决微信服务器验证问题(内网穿透)
  • postgresql-effective_cache_size参数详解
  • CUDA锁页内存的使用
  • python常见代码用法
  • MTU TCP-MSS(转载)
  • 【ARM Trace32(劳特巴赫) 高级篇 20 -- SNOOPer 使用介绍】
  • MySQL笔记-第11章_数据处理之增删改
  • ANSYS常见error解答(转)
  • 【Let‘s Encrypt SSL】使用 acme.sh 给 Nginx 安装 Let’s Encrypt 提供的免费 SSL 证书
  • XML学习及应用
  • Docker部署Nacos集群并用nginx反向代理负载均衡
  • C++STL的stack和queue(超详解)
  • 【C语言实现windows环境下Socket编程TCP/IP协议】
  • CGAL的3D简单网格数据结构
  • 正则表达式(9):扩展正则表达式
  • 静态SOCKS5:了解基本概念和协议
  • 用23种设计模式打造一个cocos creator的游戏框架----(十二)状态模式
  • js 转换为数组并返回(Array.of())
  • git上传文件夹后打不开,有@.....
  • 31、应急响应——Windows
  • QT linux下使用Qt Creator调试附加进程,加快调试
  • IDEA Maven项目如何引用本地jar包,并打包发布
  • Unity中Batching优化的GPU实例化(3)
  • Web应用JSON数据保护(密码算法、密钥、数字签名和数据加密)
  • 【软件安装】VMware安装Centos7虚拟机并且设置静态IP,实现Windows和Centos7网络互相访问
  • 203. 移除链表元素
  • 最新鸿蒙HarmonyOS4.0开发登陆的界面1
  • 【模型训练】目标跟踪
  • zabbix——实现高效网络监控
  • LeetCode力扣每日一题(Java):58、最后一个单词的长度