Создавать функции внутри классов в Google App Engine? - PullRequest
1 голос
/ 11 марта 2011

Я пытался включить свои собственные функции в класс главной страницы, но при их вызове он вообще не работает, поэтому я создал для него класс и включил в него эту функцию. и в get () класса mainpage я создал экземпляр для этого класса и вызвал функцию наподобие object_name.function name (), но она не работает


class encipher:
    def time_stomp():
        t1=time.time()
        dt = datetime.now()
        dt.now()</p>

<pre><code>        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

класс MainPage (webapp.RequestHandler):

def get (self): ddes = шифровани () global final_data_hex глобальное имя пользователя глобальное имя файла username = self.request.get ("name") имя файла = self.request.get ( "имя_файла") адр = self.request.get ( "Mac") путь = "d: / XAMPP / HTDOCS / шифровать /" + имя пользователя + '/' + имя файла f1 = открытый (путь, 'r') # F1 = открыт (путь, "г") Строка = f1.read () = 0 адр = addr.replace ( ":", '') # Self.response.out.write (ddes.keygen ())

Ответы [ 2 ]

3 голосов
/ 11 марта 2011

Метод экземпляра Python должен принимать хотя бы один параметр, self.«Это не работает» - ужасное объяснение проблемы;если бы вы читали свои трассировки, вы бы увидели ошибку о том, что .keygen () принимает 0 аргументов с предоставленным 1.

Но да, нет причин инкапсулировать методы в классе, если вы действительно хотитефункция.

0 голосов
/ 11 марта 2011

Я понял это.Мы можем просто включить функции из класса, и это будет отлично работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...