Я пытаюсь разобрать несколько файлов следующего формата в 'clientname'.txt
hostname:comp1
time: Fri Jan 28 20:00:02 GMT 2011
ip:xxx.xxx.xx.xx
fs:good:45
memory:bad:78
swap:good:34
Mail:good
Каждый раздел разделен символом :, но там, где строки 0,2,6 имеют 2 поля... строки 1,3-5 имеют 3 или более полей. (Большая проблема, с которой у меня возникли проблемы, - это строка time:, поскольку 20:00:02 - это действительно время, а не 3 отдельных поля.
У меня есть несколько таких файлов, которые мне нужно проанализировать. В некоторых из этих файлов есть еще много строк с несколькими полями.
...
for i in clients:
if os.path.isfile(rpt_path + i + rpt_ext): # if the rpt exists then do this
rpt = rpt_path + i + rpt_ext
l_count = 0
for line in open(rpt, "r"):
s_line = line.rstrip()
part = s_line.split(':')
print part
l_count = l_count + 1
else: # else break
break
Сначала я проверяю, существует ли файл, и если он существует, то открываю файл и анализирую его (в конце концов). На данный момент я просто печатаю вывод (часть печати), чтобы убедиться, что он правильно анализируется. Честно говоря, единственная проблема, с которой я сейчас сталкиваюсь, это время: поле. Как я могу относиться к этой строке конкретно иначе, чем ко всем остальным? Поле времени ВСЕГДА находится на второй строке во всех моих файлах отчетов.