Я анализирую вывод последовательного анализатора и хочу посчитать количество байтов между следующими временными метками. Я превратил свой журнал в список строк lines
, и это выглядит примерно так:
отметка времени (индекс 0)
данные (индекс 1)
данные (индекс 2)
и т. Д.
отметка времени (индекс 215)
данные (индекс 216)
и так далее ...
Итак, я хочу создать вложенный список messages
, например, его первый элемент messages[0]
будет элементом lines
от индекса 1 до индекса 214.
Я создал список timeindexes
индексов временных меток и отдельный список nospaces
, где я избавился от пробелов между символами в элементах между временными метками - при подсчете байтов я просто разделю количество символов на 2.
f=open("snnifflog.txt","r")
lines=[l.strip() for l in f.readlines()]
lines_number=len(lines)
l=0
timeindex=[]
# list of indexes of timestamps in my lines list
while l<lines_number:
if lines[l].startswith("2019"):
timeindex.append(l)
l+=1
nospaces=[]
n=0
#lines list modified by getting rid of spaces
while n<lines_number:
if not lines[n].startswith("2019"):
nospaces.append(lines[n].replace(" ",""))
else:
nospaces.append(lines[n])
n+=1
А теперь я не знаю, как добавить свой список. Я понимаю, что это строки должны быть проиндексированы от 0 до len(timeindex)-2
, и они должны быть списками, состоящими из элементов:
нулевой ряд:
nospaces[timeindex[0]+1]
до nospaces[timeindex[1]-1]
затем строка 1:
nospaces[timeindex[1]+1]
до nospaces[timeindex[2]-1]
и так далее ...
Я не знаю, как написать цикл для этого