楼主非专业 python 开发,今天遇到个完全没头脑的问题,请赐教!.
geoip2.database
模块内一个全局变量 read = geoip2.database.Reader(geoipfile)
geoipfile
没影响...这是咋回事啊??😵😵😵... import unittest
from .geoip import location
class Test_lib(unittest.TestCase):
def test_locations(self):
ips = ['23.250.80.1', '24.199.128.3', '31.173.152.1', '186.115.160.2']
adds = locations(ips)
self.assertEqual(len(adds), 4)
#!/usr/bin/python3
import geoip2.database, logging
geoipfile = "./GeoLite2-City.mmdb"
read = geoip2.database.Reader(geoipfile)
def locations(ips: list[str]) -> list:
s = location()
next(s)
return [s.send(x) for x in ips]
def location() -> list:
ip = "1.0.0.1"
while True:
try:
response = read.city(ip)
a = [ip, response.location.longitude, response.location.latitude]
except Exception as e:
logging.exception(e)
a = []
ip = yield a
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.