我将发布我在python代码中得到的错误。当我读取我的日志文件
时,我的目标IP地址出现了错误 if "dstport" in p:
if p["dstport"] in counts:
counts[str(p["dstport"])] += 1
else:
counts[str(p["dstport"])] = 1
if p["dstip"] in ip_counts:
ip_counts[str(p["dstip"])] += 1
else:
ip_counts[str(p["dstip"])] = 1
asc_order.append(p["dstport"])
ip_port[p["dstip"]] = int(p["dstport"])
else:
print "ini"
if p["dstip"] in ip_counts:
ip_counts[str(p["dstip"])] += 1
else:
ip_counts[str(p["dstip"])] = 1
print ip_counts
sorted_x = sorted(ip_port.items(), key=operator.itemgetter(1))
ip_list = [ip for ip, port in sorted_x]
ip_short_long = [ip2long(ips) for ips in ip_list]
ip_short_long.sort()
ip_sort = [long2ip(ip) for ip in ip_short_long]
for ip in ip_sort:
print ip
if __name__ == "__main__": main()
我的错误是
if p["dstip"] in ip_counts:
KeyError: 'dstip'
答案 0 :(得分:1)
检查条件时使用 p.get("dstip")
因此,如果字典中没有这样的密钥,它就不会抛出异常。