在Python中实现Web服务器可以通过多种方式,以下是几种常见的方法:
使用内置的`http.server`模块
from http.server import HTTPServer, SimpleHTTPRequestHandlerdef run_server(port=8000):server_address = ('', port)httpd = HTTPServer(server_address, SimpleHTTPRequestHandler)print(f"Started server on port {port}")try:httpd.serve_forever()except KeyboardInterrupt:print("\nShutting down server...")httpd.socket.close()if __name__ == "__main__":run_server()
使用Flask框架
from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():return 'Hello, World!'@app.route('/api/data')def get_data():data = {'name': 'Python', 'type': 'Programming Language'}return jsonify(data)if __name__ == "__main__":app.run(debug=True)

使用Tornado框架
import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler):def get(self):self.write("Hello, world")def make_app():return tornado.web.Application([(r'/', MainHandler),])if __name__ == "__main__":app = make_app()app.listen(8888)tornado.ioloop.IOLoop.current().start()
使用CGIHTTPServer模块
from http.server import CGIHTTPServerport = 8000httpd = CGIHTTPServer(("", port))print(f"Serving on port {port}")httpd.serve_forever()
使用命令行启动服务器
python -m http.server 8080
以上代码示例展示了如何使用Python内置的`http.server`模块、Flask框架、Tornado框架以及通过命令行启动一个简单的Web服务器。每种方法都有其适用场景,例如`http.server`适合快速开发测试,Flask和Tornado适合开发功能更丰富的Web应用
