一个方便的api,用于不同iso 3166国家代码之间的转换。

incf.countryutils的Python项目详细描述


incf.countryutils在 按大陆列出的国家列表(数据文件),见Wikipedia (分发中包含一份副本)。

它支持不同类型国家之间的转变 代码和名称,如in:

>>> from incf.countryutils import transformations
>>> transformations.cca2_to_ccn('de')
'276'
>>> transformations.ccn_to_cn(276)
'Germany'

支持的国家代码是numericccn;内部参考格式) 两个字母的国家代码cca2)和{em1}$三个字母的国家代码(cca3)。 此外,incf.countryutils知道每个 国家(cn)以及官方英文名称

转换名称遵循从<;f1>;_到的模式,其中f1f2 参考国家代码或名称。与引用之间的所有转换 提供格式(ccn)。

将数字国家代码作为参数整数以及 接受字符串表示。

此外,为了方便起见,还提供了一些组合转换。 最值得注意的是,<;任何国家代码>;\u到<;简单或官方名称>;:

>>> transformations.cc_to_cn('FR')
'France'
>>> transformations.cc_to_cn('FRa')
'France'
>>> transformations.cc_to_cn('250')
'France'
>>> transformations.cc_to_cn(250)
'France'
>>> transformations.cc_to_con(250)
'French Republic France'

仅对简单的英文名称支持按名称查找:

>>> transformations.cn_to_ccn('Italy')
'380'
>>> transformations.ccn_to_con('380')
'Italian Republic Italy'

大陆

基于Wikipediaincf的数据,countryutils允许查找 在一个国家所属的大陆上(ctn:大陆名称; CTCA2:两个字母的大陆代码:

>>> transformations.cn_to_ctn('Italy')
'Europe'
>>> transformations.cca_to_ctn('us')
'North America'

大陆有两个字母代码,就像in:

>>> transformations.cca_to_ctca2('usa')
'NA'

给定一个大陆,就可以得到它的组成国家:

>>> transformations.ctca2_to_ccn('AN')
['010', '074', '260', '334', '239']

替代API(OO)

有一种替代的、更面向对象的api基于 国家和大陆类型的概念。论创造,一个国家 或者大陆需要传递一个名称或代码:

>>> from incf.countryutils.datatypes import Country
>>> china = Country('China')
>>> china
<incf.countryutils.datatypes.Country object at 0x...>

国家的名称和代码可用作属性:

>>> china.name
'China'
>>> china.official_name
"People's Republic of China"
>>> china.numeric
'156'
>>> china.alpha2
'CN'
>>> china.alpha3
'CHN'

大陆属性指的是相应的大陆 实例:

>>> china.continent
<incf.countryutils.datatypes.Continent object at 0x...>

它又具有以下属性:

>>> china.continent.name
'Asia'
>>> china.continent.alpha2
'AS'

要求一个大陆的成员国返回 依次返回国家/地区实例的生成器对象:

>>> china.continent.countries
<generator object at 0x...>
>>> china.continent.countries.next()
<incf.countryutils.datatypes.Country object at 0x...>
>>> [c.name for c in china.continent.countries]
['Afghanistan', 'Armenia', 'Azerbaijan', 'Bahrain', ...]

更改日志

1.0-(2009-04-20)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jboss LinkageError:加载程序约束冲突:解析重写的方法时   java Struts 1:如何使用表单bean设置<html:multibox/>值?   使用Fortify将字段设置为Null时的Java Null取消引用   用java对连接字符的图像进行分割   java无法使用Quarkus模拟,NullPointer异常,无法找到相关导入   html试图使iframe垫片与Java小程序上的CSS下拉菜单一起工作   java无法获取Base64。decodeBase64正常工作(Commons编解码器)   java为什么我不能通过点击打开jar文件?   java当用户第一次使用预先填充的sqlite数据库时,安卓应用程序如何添加新的列或表?   在tomcat中安装java GoDaddy SSL证书。。。没有与私钥匹配的证书   java试图实现一些伪代码、算法   java如何读取其他按钮id,避免所有转到第一个按钮   java使用单个   oop为什么Java Map不扩展集合?