通过python程序读取json文件时出错

问题描述 投票:0回答:1

我收到有关程序插件的错误,基本上我要做的工作是从Cowrie Honeypot的json文件中提取摘要,并打印所有国家/地区,例如其中写入了多少个国家/地区使用geoip和geolite2之类的插件生成json文件。

这里是程序和我得到的错误,我想问题是关于程序从文件源的路径。任何帮助将不胜感激

我得到的错误:“错误”

我的代码:

import glob
import json
import gmplot
from collections import defaultdict
from pprint import pprint
from geoip import geolite2

ips = []
for fn in glob.glob("C:/Users/Bennet/Desktop/Random/forin/cowrie/log/cowrie.json.*"):
 with open(fn, "rt") as f:
    for line in f:
        data = json.loads(line)
        if data['eventid'] == "cowrie.session.connect":
            ips.append(data['src_ip'])

lats = []
longs = []
for ip in ips:
  data = geolite2.lookup(ip)
  if data is None:
    continue
  lats.append(data.location[0])
  longs.append(data.location[1])

gmap = gmplot.GoogleMapPlotter(0,0, 2)
gmap.heatmap(lats, longs)
gmap.draw("mymap.html")
pprint(countries)
python json pycharm
1个回答
0
投票

不幸的是,我不知道geolite2-module,但是如果我理解正确的错误消息,则错误是传递geolite2.lookup()一个字符串(ip),但是它需要一个类似字节的对象。

您是否已经在第19行尝试过geolite2.lookup(bytes(ip))

© www.soinside.com 2019 - 2024. All rights reserved.