编辑:在python3.5上,geoip包似乎有问题(我发现有人报告了一个问题here),该问题与您在不同方法上的错误消息相同)。评论人士似乎在说,这个包裹看起来被遗弃了,尽管我自己还没有查过。因此,我认为这种解决方法可能是您未来的最佳选择。在

我不认为这是Linux和Windows的问题。我试图在我的Mac机上运行你的脚本,结果和你在Windows上做的一样。我试图研究一下您得到的错误,发现有一篇文章提到他们使用了另一个包,因为它支持python3。那个包是maxminddb-geolite2。在

它的格式与您使用的格式有所不同,但我的代码如下:import socket

from geolite2 import geolite2

import argparse

import pprint

if __name__ == '__main__':

# Setup commandline arguments

parser = argparse.ArgumentParser(description='Get IP Geolocation info')

parser.add_argument('--hostname', action="store",

dest="hostname", required=True)

# Parse arguments

given_args = parser.parse_args()

hostname = given_args.hostname

ip_address = socket.gethostbyname(hostname)

print("IP address: {0}".format(ip_address))

match = geolite2.reader().get(ip_address)

pp = pprint.PrettyPrinter(indent=4)

if match is not None:

print("Country: " + str(match['country']['names']['en']))

print("Continent: " + str(match['continent']['names']['en']))

print("Time Zone: " + str(match['location']['time_zone']))

pp.pprint(match)

正如您所看到的,它在语法上相当相似,只是稍微有点不同。在

我的脚本输出(没有漂亮的打印):

^{pr2}$

以下是字典中漂亮的打印输出,以防您想知道我如何知道从何处获取您想要的匹配字典的输出:{ 'city': { 'geoname_id': 2964574,

'names': { 'de': 'Dublin',

'en': 'Dublin',

'es': 'Dublín',

'fr': 'Dublin',

'ja': 'ダブリン',

'pt-BR': 'Dublin',

'ru': 'Дублин',

'zh-CN': '都柏林'}},

'continent': { 'code': 'EU',

'geoname_id': 6255148,

'names': { 'de': 'Europa',

'en': 'Europe',

'es': 'Europa',

'fr': 'Europe',

'ja': 'ヨーロッパ',

'pt-BR': 'Europa',

'ru': 'Европа',

'zh-CN': '欧洲'}},

'country': { 'geoname_id': 2963597,

'iso_code': 'IE',

'names': { 'de': 'Irland',

'en': 'Ireland',

'es': 'Irlanda',

'fr': 'Irlande',

'ja': 'アイルランド',

'pt-BR': 'Irlanda',

'ru': 'Ирландия',

'zh-CN': '爱尔兰'}},

'location': { 'latitude': 53.3331,

'longitude': -6.2489,

'time_zone': 'Europe/Dublin'},

'registered_country': { 'geoname_id': 2963597,

'iso_code': 'IE',

'names': { 'de': 'Irland',

'en': 'Ireland',

'es': 'Irlanda',

'fr': 'Irlande',

'ja': 'アイルランド',

'pt-BR': 'Irlanda',

'ru': 'Ирландия',

'zh-CN': '爱尔兰'}},

'subdivisions': [ { 'geoname_id': 7521314,

'iso_code': 'L',

'names': { 'en': 'Leinster',

'ja': 'レンスター',

'ru': 'Ленстер'}},

{ 'geoname_id': 7778677,

'names': {'en': 'Dublin City'}}]}

如果您想这样做,您只需做以下操作:import pprint # At the top of the file

pp = pprint.PrettyPrinter(indent=4) # Anywhere in scope

pp.pprint(match) # Print!

有关漂亮打印here的详细信息。在

我知道这并不能直接回答正在发生的事情,但如果我真的弄清楚了真正的问题,我会更新我的答案。在此之前,请使用以下解决方法:)。在

python可以在windows运行吗_在Windows中,如何运行这个python脚本呢?相关推荐

  1. python k线图和指标_量化交易中,如何使用Python画K线、成交量、买卖点【邢不行】...

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助. [历史文章汇总] 请点击此处 这是邢不行第  68 ...

  2. 不属于python的语言特点的是_下列选项中,不属于Python语言特点的是()

    少数民族生态智慧的启示( )A. 文化多样性和地方知识具有特殊价值,下列选项不能用"现代科学"逻辑简单予以否定:B. 检讨西方的人类中心主义的价值观.下列选项无限增长的诉求和物欲无 ...

  3. windows下运行python打印有颜色的字_在windows下Python打印彩色字体的方法

    本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ##################################################### ...

  4. python 筛选提取连续多行_没有比这更简单的Python入门案例,用python打印你的宠物小精灵...

    现在学习Python的人越来越多,但你会以怎样的方式开始编写你的第一个Python代码呢? 下面我教你一个简单的入门案例,很适合最开始的Python学习哦! 即将用到的Python基础语法是:prin ...

  5. python 引用库的点.号_给大家分享一些实用的Python库

    halo,大家好,我是特仑苏,今天给大家分享一些Python库,希望可以给大家带来一些用处! Python附带了几个预打包的库.但是,还有许多其他库可用于高级解释通用编程语言.您还可以从中了解异步Py ...

  6. a_2可以用作python标识符嘛,【单选题】下列选项中,可作为Python标识符的是哪项? A. getpath() B. throw C. my#var D. _ My_price...

    [单选题]下列选项中,可作为Python标识符的是哪项? A. getpath() B. throw C. my#var D. _ My_price 更多相关问题 已知函数f(x)=2x2x-1+21 ...

  7. python库文档的错误_自己编程中遇到的Python错误和解决方法汇总整理

    开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习. 知识在于积累嘛!微笑 +++++++++++++++++++++++++++++++++ ...

  8. python爬虫和数据分析电脑推荐_大数据分析必备的5款Python爬虫库

    在数据科学或人工智能领域,除了算法之外,最重要的应该是数据了.甚至可以说一个模型到最后决定其准确度的往往不是算法而是数据.在现实中,缺少足够的数据成了数据分析师获得优秀模型的主要阻碍.可喜的是,现在网 ...

  9. flink运行原理_浅谈Flink分布式运行时和数据流图的并行化

    本文将以WordCount的案例为主线,主要介绍Flink的设计和运行原理.关于Flink WordCount程序可以参考我之前的文章:读取Kafka实时数据流,实现Flink WordCount.阅 ...

  10. python实现异步的几种方式_终于搞明白了,异步Python比同步Python究竟快在哪里?...

    大家好,你是否听人们说过,异步 Python 代码比"普通(或同步)Python 代码更快? 果真是那样吗? 同步和异步是什么意思? Web 应用程序通常要处理许多请求,这些请求在短时间内来 ...

最新文章

  1. 【NAACL2021】Graph4NLP:图深度学习自然语言处理(附ppt)
  2. 浏览器与服务器通信技术——Ajax详解
  3. 微服务乱码_netcore 之动态代理(微服务专题)
  4. 每日程序C语言11-求s=a+aa+aaa+aaaa+aa…a
  5. 常用HTML标签元素介绍,常用的HTML标签元素总结简介
  6. 【CEOI2017】Building Bridges【任意坐标斜率优化】【李超线段树】
  7. matlab 数值格式转换,Matlab字符串转换及数值格式转换
  8. 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)
  9. 华为云PB级数据库GaussDB(for Redis)揭秘第七期:高斯Redis与强一致
  10. 闲鱼公布2021年度十大“无用”商品:网友买前壮志 买后吃灰
  11. MongoDB C Driver使用教程
  12. Eclipse用法和技巧十八:减少不必要的输入
  13. Java菜鸟的初次实习经历
  14. keilC51和MDK_ARM的安装与兼容及LED点亮实验
  15. 三、Linux文件颜色代表意义
  16. 圆桌对话:机器学习的商业应用,创业公司并非没有机会 | CCF-GAIR 2017
  17. 入职开发很少写代码_如何简化开发人员入职:将开发环境作为代码
  18. 【自然语言处理-2】word2vec词嵌入算法“男人”+“女人”=“爱情的坟墓”
  19. java获取图片的长宽尺寸(毫米)
  20. 什么是计算机的多用户,操作系统多用户是什么意思

热门文章

  1. mysql 5.7 创建用户_MySQL 5.7 创建用户并授权
  2. 关于XIFF开发IM的一些想法
  3. Android开发的四大组件
  4. powerdesigner简单使用
  5. 在Mac中用快捷键快速插入日期时间
  6. linux 安装Centos源
  7. 二本 计算机专业2017分数线,2017体育二本分数线(2017体育生高考录取分数线)
  8. 2021年你想转行吗?写给迷茫的你!
  9. mysql系统属性,mysql
  10. 数字游戏---巧妙解答