python如何实现类似php的http动态脚本请求处理响应代码?
放在一个根目录中,url请求处理
网友回复
在 Python 中,要实现类似 PHP 的“请求哪个脚本就执行哪个脚本”的动态 HTTP 脚本执行机制,有几种方式可以做到。以下是一个完整的实现思路(核心思想:解析 URL 路径,根据路径动态加载并执行对应的 Python 脚本文件):
示例目标:
当访问 http://localhost:8000/hello.py,服务器执行 hello.py 并返回它的输出内容(如同 PHP 一样)。
实现方法:用 http.server + 动态加载执行
# dynamic_http_server.py import os import sys import io import traceback from http.server import SimpleHTTPRequestHandler, HTTPServer from urllib.parse import unquote class DynamicScriptHandler(SimpleHTTPRequestHandler): def do_GET(self): path = unquote(self.path.lstrip('/')) # 只处理 .py 脚本文件请求 if path.endswith(".py") and os.path.isfile(path): try: # 用独立的 namespace 执行脚本 stdout = io.StringIO() sys.stdout = s...
点击查看剩余70%