tornado---简单的tornado(2):

简单的tornado(2):

一:

# tornado的基础web框架模块
# tornado核心io循环模块,封装了linux的epoll和kqueue,是tornado高效的基础
import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options

# 定义参数
tornado.options.define("port", default=8000, type=int)


# 类似于django中的视图
class AAA(tornado.web.RequestHandler):
    # 处理get请求
    def get(self, *args, **kwargs):
        # 给浏览器响应信息
        self.write("aaaaaaa")


if __name__ == "__main__":
    # 将命令行的参数转化进来,并保存到tornado.options.options里
    tornado.options.parse_command_line()
    # 实例化一个app对象
    # application是tornadoweb框架的核心应用类,是与服务器对应的接口
    app = tornado.web.Application([
        (r"/", AAA)
    ])

    # 先创建一个服务,再去绑定端口
    httpServer = tornado.httpserver.HTTPServer(app)
    # 使用变量的值
    httpServer.bind(tornado.options.options.port)
    # 开启的进程数
    httpServer.start(3)

    # IOLoop.current():返回当前线程的IOLoop实例
    # IOLoop.start():启动IOLoop实例的I/O循环,同时开启监听
    tornado.ioloop.IOLoop.current().start()

然后在命令行输入 :python 文件名 --port=值

二:

创建一个file文件:

port=11111

代码:

# tornado的基础web框架模块
# tornado核心io循环模块,封装了linux的epoll和kqueue,是tornado高效的基础
import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options

# 定义参数
tornado.options.define("port", default=8000, type=int)


# 类似于django中的视图
class AAA(tornado.web.RequestHandler):
    # 处理get请求
    def get(self, *args, **kwargs):
        # 给浏览器响应信息
        self.write("aaaaaaa")


if __name__ == "__main__":
    # 将命令行的参数转化进来,并保存到tornado.options.options里
    tornado.options.parse_config_file("file")
    # 实例化一个app对象
    # application是tornadoweb框架的核心应用类,是与服务器对应的接口
    app = tornado.web.Application([
        (r"/", AAA)
    ])

    # 先创建一个服务,再去绑定端口
    httpServer = tornado.httpserver.HTTPServer(app)
    # 使用变量的值
    httpServer.bind(tornado.options.options.port)
    # 开启的进程数
    httpServer.start(1)

    # IOLoop.current():返回当前线程的IOLoop实例
    # IOLoop.start():启动IOLoop实例的I/O循环,同时开启监听
    tornado.ioloop.IOLoop.current().start()

从文件了传入参数,不能是字典形式

三:

创建一个config.py文件:

dict = {
    "port": 11111,
}

代码:

# tornado的基础web框架模块
# tornado核心io循环模块,封装了linux的epoll和kqueue,是tornado高效的基础
import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options
# 导入参数
import config


# 类似于django中的视图
class AAA(tornado.web.RequestHandler):
    # 处理get请求
    def get(self, *args, **kwargs):
        # 给浏览器响应信息
        self.write("aaaaaaa")


if __name__ == "__main__":
    # 实例化一个app对象
    # application是tornadoweb框架的核心应用类,是与服务器对应的接口
    app = tornado.web.Application([
        (r"/", AAA)
    ])

    # 先创建一个服务,再去绑定端口
    httpServer = tornado.httpserver.HTTPServer(app)
    # 使用变量的值
    httpServer.bind(config.dict["port"])
    # 开启的进程数
    httpServer.start(1)

    # IOLoop.current():返回当前线程的IOLoop实例
    # IOLoop.start():启动IOLoop实例的I/O循环,同时开启监听
    tornado.ioloop.IOLoop.current().start()

比较:

第一种:需要命令行启动,要定义参数

第二种:不需要命令行启动,要定义参数

第三种:不需要命令行启动,不需要定义参数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值