在谷歌应用引擎的类中创建功能?

时间:2011-03-11 09:17:05

标签: python google-app-engine class

我试图在mainpage类中包含我自己的函数,但是在调用它时它根本不起作用,所以我所做的就是为它创建一个类并在其中包含该函数。在mainpage类的get()中,我为该类创建了一个实例,并调用了像object_name.function name()这样的函数,但它不起作用


class encipher:
    def time_stomp():
        t1=time.time()
        dt = datetime.now()
        dt.now()

        stri=""
        stri+=(str(dt.minute*dt.microsecond)[0:4])
        stri+=(str(dt.second*dt.microsecond)[0:2])
        stri+=(str(dt.microsecond)[0:3])
        stri+=(str(dt.microsecond)[2:3])
        stri+=(str(dt.microsecond)[1:2])
        stri+=(str(dt.microsecond)[0:1])
        return stri

#-------------------------------------------------------------
    def keygen():


        key_stri=""

        ko=0
        datalist_str1=self.time_stomp()
        for i in range(6):

                key_stri+=((hex(operator.xor(int(datalist_str1[ko:ko+2]),128)).replace("0x","")).zfill(2))
                ko+=2
                #print "Key:",key_stri

                #print "Key:",key_stri
        #print "Key:",key_stri
        return key_stri

class MainPage(webapp.RequestHandler):

def get(self): ddes=encipher() global final_data_hex global username global filename username = self.request.get("name") filename=self.request.get("filename") addr=self.request.get("mac") path="d:/xampp/htdocs/encrypt/"+username+'/'+filename f1 = open(path, 'r') #f1=open(path,"r") string=f1.read() i=0 addr=addr.replace(":",'') #self.response.out.write(ddes.keygen())

2 个答案:

答案 0 :(得分:3)

python实例方法需要至少接受一个参数self。 “这不起作用”是一个问题的可怕解释;如果你读过你的追溯,你会看到一个错误,关于.keygen()接受0个参数,提供1个。

但是,如果您真正想要的是一个函数,没有理由将方法封装在类中。

答案 1 :(得分:0)

我明白了。我们可以简单地将类中的函数包含在内,它将完美地运行。