2014-04-26 34 views
0

我正在閱讀基於使用python的時間戳文件的特定行。我想要將這些行添加到數組中。但是,當我這樣做時,數組是空的。這裏是我的代碼:如何將文件中的行添加到數組中?

def parse(self): 
    with open(self.filename) as errorfile: 
     data = [] 
     for line in errorfile: 
      # Look in each line for Warning message 
      if self.is_Warning(line): 
       data.append(line) 
      return data 

def is_Warning(self,line): 
    if line.find("Warning") >= 0: 
     ts = time.strptime(line[:15].strip(), "%b %d %H:%M:%S") 
     print "==================== %s" % ts 

任何人都可以幫忙嗎?

回答

1

您的is_Warning功能不返回TrueFalse或其他任何東西。在if區塊中添加return True

您也可以使用更多pythonic和可讀的"Warning" in line而不是line.find("Warning")>= 0

並且還參見Chirila's answer

1

是這樣的:

for line in errorfile: 
     # Look in each line for Warning message 
     if self.is_Warning(line): 
      data.append(line) 
     return data 

應該是:

for line in errorfile: 
     # Look in each line for Warning message 
     if self.is_Warning(line): 
      data.append(line) 
    return data 
相關問題