使用以下代码运行python服务器:
import os
from http.server import SimpleHTTPRequestHandler, HTTPServer
os.chdir('c:/users/owner/desktop/tom/tomsEnyo2.5-May27')
server_address = ('', 8000)
httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
如何使其停止?
您的问题是模棱两可的-如果您是通过shell(例如python myscript.py)运行服务器,只需按crtl + C。
如果要使用代码优雅地关闭它,则必须确定某些条件,点或异常以将其称为关闭。您可以添加一个块并调用httpd.shutdown()-因为HttpServer它本身是一个SocketServer.TCPSServer子类:
第一类HTTPServer是SocketServer.TCPServer子类,因此实现SocketServer.BaseServer接口。它创建并侦听HTTP套接字,将请求分派给处理程序。
因此,它BaseServer具有一个方法shutdown(),因此作为HttpServer的子类也具有它。
例如:
import os
from http.server import SimpleHTTPRequestHandler, HTTPServer
os.chdir('c:/users/owner/desktop/tom/tomsEnyo2.5-May27')
server_address = ('', 8000)
try:
httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)
httpd.serve_forever()
except Exception:
httpd.shutdown()
Run Code Online (Sandbox Code Playgroud)
有用的相关问题-
| 归档时间: |
|
| 查看次数: |
8281 次 |
| 最近记录: |