[英]Python List of Dictionaries Only See Last Element
努力弄清楚為什么它不起作用。 這應該。 但是,當我創建字典列表然后瀏覽該列表時,我只會看到該列表中的最后一個條目:
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"
您在腳本的開頭精確地創建了一個字典,然后將該一個字典多次追加到列表中。
通過將初始化移到循環內部,嘗試創建多個單獨的字典。
alerts = []
af=open("C:\snort.txt")
for line in af:
alertDict = {}
#rest of loop goes here
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.