我正在尝试覆盖
SocketServer.TCPServer
类的serve_forever
方法。但是我遇到了一个错误:AttributeError: MyServer instance has no attribute '_MyServer__is_shut_down'
。
__is_shut_down
在SocketServer.BaseServer
类中实现,并且应该通过SocketServer.TCPServer
的__init__()
进行初始化。我错过了什么吗?import SocketServer
class MyServer(SocketServer.TCPServer):
def __init__(self, server_address, RequestHandlerClass):
SocketServer.TCPServer.__init__(self, server_address,
RequestHandlerClass)
def serve_forever(self, poll_interval=0.5):
self.__is_shut_down.clear()
try:
while not self.__shutdown_request:
print "SOMETHING"
r, w, e = _eintr_retry(select.select, [self], [], [],
poll_interval)
if self in r:
self._handle_request_noblock()
finally:
self.__shutdown_request = False
self.__is_shut_down.set()
super(MyServer, self).__init__
代替? - 2rs2tspython -tt
运行程序),即使你一直在使用制表符,也应该切换到四个空格的缩进。 - DSM