2

我正在使用类 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()
4

2 回答 2

2

我解决了创建静态类并在静态类中使用全局变量的问题。

于 2014-08-19T15:11:38.317 回答
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))
于 2014-08-19T11:43:29.030 回答