2016-10-04 98 views
-1

我定义了响应类这样的:Python类的实例变量消失

class Response(object): 
    def __index__(self): 
     self.country = "" 
     self.time_human = "" 
     self.time_utc = "" 
     self.text = "" 
     self.time_object = None 
     self.clean_word_list = [] 

    def parse_line(self, line): 
     if 'text:' in line[:10]: 
      self.text = line[7:].strip() 
     elif 'country: ' in line[:9]: 
      self.country = line[8:].strip() 
     elif 'time_human: ' in line[:15]: 
      self.time_human = line[12:].strip() 
     elif 'time_utc: ' in line[:15]: 
      self.time_utc = int(line[10:].strip()) 
      self.time_object = datetime.fromtimestamp(self.time_utc) 

我然后有读取从文本文件线和适当的值分配给该响应的方法:

class file_importer(object): 
    def __init__(self, file_name): 
     self.file_name = file_name 

def get_responses_from_file(self): 
    directory = DIRECTORY_TO_FILE 
    formatted_filename = directory + self.file_name 
    file = open(formatted_filename, 'r') 
    response = Response() 
    response_list = [] 
    for line in file: 
     if line[0] == '*': 
      response_list.append(response) 
      response = Response() 
     else: 
      response.parse_line(line) 
    return response_list 

但get_responses_from_file()返回的response_list是没有response.clean_word_list属性的响应列表。发生了什么?

+0

构造被称为'__init__'和** **不是'__index__' – Wombatz

回答

0

它必须是__init__而不是__index__Response

+0

谢谢!我绝对误读了这条线。德古拉颜色主题和缺乏睡眠的组合是一个糟糕的组合。感谢您为我指出了这一点 – Ian