Я пытаюсь разобрать несколько файлов журнала из каталога журнала, чтобы найти любое количество строк в списке вместе с именем сервера. Я чувствую, что я пробовал миллион различных опций, и у меня он работает нормально только с одним файлом журнала. Но когда я пытаюсь пройти через все файлы журналов в каталоге, я не могу никуда уйти.Разбор нескольких файлов журнала для строк
if args.f:
logs = args.f
else:
try:
logs = glob("/var/opt/cray/log/p0-current/*")
except IndexError:
print "Something is wrong. p0-current is not available."
sys.exit(1)
valid_errors = ["error", "nmi", "CATERR"]
logList = []
for log in logs:
logList.append(log)
#theLog = open("logList")
#logFile = log.readlines()
#logFile.close()
#printList = []
#for line in logFile:
# if (valid_errors in line):
# printList.append(line)
#
#for item in printList:
# print item
# with open("log", "r") as tmp_log:
# open_log = tmp_log.readlines()
# for line in open_log:
# for down_nodes in open_log:
# if valid_errors in open_log:
# print valid_errors
down_nodes
является предварительно заполненный список дальше сценарий, содержащий список серверов, которые помечены как вниз.
Прокомментированы некоторые из различных попыток, с которыми я работал.
logList = []
for log in logs:
logList.append(log)
Я думал, что это может быть путь вперед, чтобы поместить каждый отдельный файл войти в список, а затем цикл по этому списку и open()
следуют readlines()
, но я не хватает какой-то логики здесь .. возможно я «Не думаю, что правильно.
Я мог бы действительно сделать с некоторыми указателями здесь, пожалуйста.
Спасибо.
журналы, как возврат glob, уже есть список. –