使用以下代码运行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 次 |
最近记录: |