Python 如何从BaseHTTPRequestHandler访问HTTPServer的成员?

Python 如何从BaseHTTPRequestHandler访问HTTPServer的成员?,python,httpserver,basehttpserver,Python,Httpserver,Basehttpserver,我正在组装一个小应用程序,它包括GUI、HTTP和TCP服务器。GUI控制从HTTP和TCP服务器返回给客户端的响应。我使用HTTPServer和SocketServer.TCPServer类作为服务器,BaseHTTPRequestHandler和StreamRequestHandler都有子类。但让我们先关注一下HTTP方面的事情 当HTTPServer收到请求时,它应该检查GUI的状态,并做出适当的响应。我已经在HTTPServer中添加了一个指向GUI的成员变量,但无法找到从BaseHT

我正在组装一个小应用程序,它包括GUI、HTTP和TCP服务器。GUI控制从HTTP和TCP服务器返回给客户端的响应。我使用HTTPServer和SocketServer.TCPServer类作为服务器,BaseHTTPRequestHandler和StreamRequestHandler都有子类。但让我们先关注一下HTTP方面的事情

当HTTPServer收到请求时,它应该检查GUI的状态,并做出适当的响应。我已经在HTTPServer中添加了一个指向GUI的成员变量,但无法找到从BaseHTTPRequestHandler子类访问此字段的好方法。如何做到这一点

下面是我当前拥有的代码,尽管Python抛出了一个异常,
MyHTTPHandler实例没有属性“server”

class MyHTTPHandler(BaseHTTPRequestHandler):
    def __init__(self, request, client_address, server):
        BaseHTTPRequestHandler.__init__(self, request, client_address, server)
        self._server = server

    def do_GET(self):
        self._server.get_interface().do_something()
        [...]

BaseHTTPRequestHandler有一个内置属性
server
。不确定为什么要在继承的类中设置另一个
self.\u服务器
。如果您还可以在
get\u interface()
方法中复制代码,这将非常有用。还有,这个“服务器”参数是什么?继承的HttpServer实例?

感谢您的响应。我没有仔细阅读文档。内置服务器属性正是我所需要的。谢谢这个页面有一个例子,将httpserver子类化,然后按照Willi的建议从处理程序访问其属性。