Python字典列表只查看最后一个Elemen

2024-05-07 15:25:30 发布

您现在位置:Python中文网/ 问答频道 /正文

很难弄清楚为什么这不起作用。应该的。但当我创建一个字典列表,然后浏览该列表时,我只看到列表中的最后一个条目:

alerts = []
alertDict = {}
af=open("C:\snort.txt")

for line in af:
    m = re.match(r'([0-9/]+)-([0-9:.]+)\s+.*?(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})\s+->\s+(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}):(\d{1,5})', line)
    if m:
        attacktime = m.group(2)
        srcip = m.group(3)
        srcprt = m.group(4)
        dstip = m.group(5)
        dstprt = m.group(6)
        alertDict['Time'] = attacktime
        alertDict['Source IP'] = srcip
        alertDict['Destination IP'] = dstip
    alerts.append(alertDict)

for alert in alerts:
    if alert["Time"] == "13:13:42.443062":
        print "Found Time"

Tags: inip列表foriftimelinegroup
1条回答
网友
1楼 · 发布于 2024-05-07 15:25:30

您只需在脚本的开头创建一个dict,然后将该dict多次追加到列表中。在

尝试创建多个单独的dict,方法是将初始化移动到循环内部。在

alerts = []
af=open("C:\snort.txt")

for line in af:
    alertDict = {}
    #rest of loop goes here

相关问题 更多 >