我正在使用BaseHttpServer类的'do_GET'方法。
我想要做的是对此方法的连续调用可以访问相同的共享变量
如果我发送第一个命令0然后是1,我就无法访问相同的变量
from BaseHTTPServer import BaseHTTPRequestHandler,HTTPServer
from threading import Thread
class myHandler(BaseHTTPRequestHandler):
def do_GET(self):
#Some code
if comand == 0:
self.task()
elif comand = 1:
#AttributeError: myHandler instance has no attribute 'var'
temp = self.var
return
def task(self):
#Ok no exception
self.var = 0
#Main
server = HTTPServer(('', 8080), myHandler)
server.serve_forever()
答案 0 :(得分:1)
我解决了创建static class并在静态类全局变量中使用的问题。
答案 1 :(得分:0)
class myHandler(BaseHTTPRequestHandler):
def __init__(self, myVariable, *args, **kwargs):
self.myVariable = myVariable
super(myHandler, self).__init__()
server = HTTPServer(('', 8080), lambda *args, **kwargs : \
myHandler(myVariable, *args, **kwargs))