对 Python 很陌生,并且一直在编写一个脚本来挑选基本日志文件的某些行
基本上,该函数搜索文件的行,当它找到我想要输出到单独文件的行时,将其添加到列表中,然后还添加接下来的五行。然后在不同的函数中将输出输出到最后的单独文件。
在此之后我一直在尝试做的是跳转循环以从这五行中的最后一行继续,而不是再次遍历它们。我认为代码中的最后一行可以解决问题,但不幸的是没有。
是否有任何推荐的 for 循环变体可以用于此目的?
def readSingleDayLogs(aDir):
print 'Processing files in ' + str(aDir) + '\n'
lineNumber = 0
try:
open_aDirFile = open(aDir) #open the log file
for aLine in open_aDirFile: #total the num. lines in file
lineNumber = lineNumber + 1
lowerBound = 0
for lineIDX in range(lowerBound, lineNumber):
currentLine = linecache.getline(aDir, lineIDX)
if (bunch of logic conditions):
issueList.append(currentLine)
for extraLineIDX in range(1, 6): #loop over the next five lines of the error and append to issue list
extraLine = linecache.getline(aDir, lineIDX+ extraLineIDX) #get the x extra line after problem line
issueList.append(extraLine)
issueList.append('\n\n')
lowerBound = lineIDX