跳转到主要内容

ISO 3166、MCC和MNC代码库

项目描述

包含基于ISO 3166-1的国家代码,基于

https://github.com/deactivated/python-iso3166/

但也包含基于维基百科页面的MCC和MNC代码

http://en.wikipedia.org/wiki/List_of_mobile_country_codes

以及ITU最新发布的列表

http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.212B-2014-PDF-E.pdf

请注意,一个国家的MCC代码可以是

  • None(没有MCC代码)

  • 字符串(当一个国家有一个代码时)

  • 字符串元组(当一个国家有多个代码时)

安装

$ pip install mobile-codes

用法

>>> import mobile_codes

通过移动国家代码(MCC)查找

>>> mobile_codes.mcc("648")
[Country(name=u'Zimbabwe', alpha2='ZW', alpha3='ZWE', numeric='716', mcc='648')]
>>> mobile_codes.mcc("311")
[Country(name=u'Guam', alpha2='GU', alpha3='GUM', numeric='316', mcc=('310', '311')),
 Country(name=u'United States', alpha2='US', alpha3='USA', numeric='840', mcc=('310', '311', '313', '316'))]
>>> mobile_codes.mcc("313")
[Country(name=u'United States', alpha2='US', alpha3='USA', numeric='840', mcc=('310', '311', '313', '316'))]

通过名称、alpha2、alpha3(全部不区分大小写)查找

>>> mobile_codes.alpha3("CAN")
Country(name=u'Canada', alpha2='CA', alpha3='CAN', numeric='124', mcc='302')
>>> mobile_codes.alpha2("CA")
Country(name=u'Canada', alpha2='CA', alpha3='CAN', numeric='124', mcc='302')
>>> mobile_codes.name('canada')
Country(name=u'Canada', alpha2='CA', alpha3='CAN', numeric='124', mcc='302')

通过mcc查找运营商(返回所有运营商列表)

>>> mobile_codes.operators('302')
[Operator(mcc='302', mnc='220', brand='Telus', operator=u'Telus'),
 Operator(mcc='302', mnc='221', brand='Telus', operator=u'Telus'),...

通过mcc和移动网络代码(MNC)查找运营商

>>> mobile_codes.mcc_mnc('722', '070')
Operator(mcc='722', mnc='070', brand='Movistar', operator=u'Movistar')

如果找不到请求的值,所有查找都将引发KeyError。

开发

如果您想对库进行开发,请按照以下步骤操作

  • 创建一个虚拟环境

  • bin/pip install -r requirements/tests.txt

  • bin/nosetests -s mobile_codes

贡献者

  • Hanno Schlichting (hannosch)

  • Jared Kerim (jaredkerim)

变更

0.6 - 2014-10-14

  • 将网络和国家常量移动到JSON文件中

  • 整合运营商的ITU数据

0.5 - 未发布

0.4 - 2014-06-13

  • 声明与Python 3.4兼容。

  • 修复了一些国家到MCC的映射。

  • 问题 #9:修复也门MCC中的错误。

  • 问题 #10:允许波多黎各的MCC值为310。

0.3 - 2014-05-14

  • 修改了mcc API,使其始终返回一个列表,可能为空,可能包含多个国家。

0.2.2 - 2014-04-22

  • 一些测试、文档更改和记录更新,感谢hannosch。

0.2 - 2013-10-26

  • 添加了MNC代码及其抓取脚本。

0.1 - 2013-10-22

  • 添加了MCC代码和查找功能。

  • 完全采用懒惰模式,除非首次请求,否则不会生成或索引记录。

支持