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%


