【发布时间】:2012-02-25 04:50:40
【问题描述】:
我正在尝试在 ubuntu 上测试这个 python 的“hello world”(带有龙卷风):
import tornado.ioloop
import tornado.web
import tornado.httpserver
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Hello, world")
application = tornado.web.Application([
(r"/", MainHandler),
])
if __name__ == "__main__":
httpserver.stop()
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
我运行这个网络应用程序的命令行:
python hello.py
但是我只能运行这个“hello.py”一次。现在我正在更改代码并希望再次运行“hello.py”。我认为我需要停止之前运行的“hello.py”实例,因为它占用了 8888 端口。但只是不知道如何执行此操作。
我尝试“导入 tornado.httpserver”以使用函数“httpserver.stop()”,但 python 在终端报告:
Traceback (most recent call last):
File "hello.py", line 14, in <module>
httpserver.stop()
NameError: name 'httpserver' is not defined
我也尝试了“HTTPServer.stop()”,但它给出了同样的错误!!!
【问题讨论】:
-
你应该使用
tornado.httpserver.stop(),因为你已经导入了tornado.httpserver模块 -
tornado.httpserver 是不是这个包?我尝试使用 tornado.httpserver.HTTPServer.stop() 但失败了 2