我正在分析串行嗅探器的输出,并且我想计算以下时间戳之间的字节数。我已将日志变成字符串lines
的列表,看起来像这样:
时间戳记(索引0)
数据(索引1)
数据(索引2)
以此类推
时间戳(索引215)
数据(索引216)
以此类推...
因此,我想创建一个嵌套列表messages
,例如,它的第一个元素messages[0]
将是从索引1到索引214的lines
的元素。
我创建了一个时间戳索引列表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]
以此类推...
我不知道如何为此写一个循环
答案 0 :(得分:0)
这里完全是您在问题中描述的内容,我不知道您在做什么以及为什么需要这样做。
for(i=0;i<n;++i)
{
if(a[0] == a[i])
{
f = 1;
break;
}
}
if(f == 1)
printf("All elements are same");