如何将文件中的行添加到数组中?

问题描述:

我正在阅读基于使用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 

任何人都可以帮忙吗?

您的is_Warning功能不返回TrueFalse或其他任何东西。在if区块中添加return True

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

并且还参见Chirila's answer

是这样的:

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