我将使用python解析一个跟踪文件。我读了我文件的每一行,我想把这一行加到字典里。在我用空格关键字分隔每一行并将每行的列添加到字典中之后,我打印结果。但问题是,我的值的顺序与跟踪文件中的顺序不同。在
换句话说,假设我的跟踪文件的第一行如下:
我的代码如下:
global dics
dics = []
count = 0
line_dic = {}
with codecs.open("trace.tr", "r", "UTF8") as inputFile:
inputFile=inputFile.readlines()
for line in inputFile:
item = []
item = line.split(" ");
line_dic['event'] = item[0]
line_dic['time'] = item[1]
line_dic['from_node'] = item[2]
line_dic['to_node'] = item[3]
line_dic['pkt_type'] = item[4]
line_dic['pkt_size'] = item[5]
line_dic['flags'] = item[6]
line_dic['fid'] = item[7]
line_dic['srcadd'] = item[8]
line_dic['dstadd'] = item[9]
line_dic['seqnum'] = item[10]
line_dic['pkti'] = item[11]
dics.append(line_dic)
print dics
print命令的结果是
^{pr2}$如你所见,根据我的知识,第一项必须是事件。但这是'pkt_type': u'cbr'
!在
我不知道是什么问题?在
我在代码中看到的一个问题是
line_dic
应该为每一行初始化(我将line_dic = {}
移到for循环中)。否则,您将覆盖前面几行的字典。在那么,调用
dics[3]['event']
应该没有问题。你的口述不需要排序才能打电话。在相关问题 更多 >
编程相关推荐