一个方便的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'
支持的国家代码是numeric(ccn;内部参考格式) 两个字母的国家代码(cca2)和{em1}$三个字母的国家代码(cca3)。 此外,incf.countryutils知道每个 国家(cn)以及官方英文名称。
转换名称遵循从<;f1>;_到
将数字国家代码作为参数整数以及 接受字符串表示。
此外,为了方便起见,还提供了一些组合转换。 最值得注意的是,<;任何国家代码>;\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)
- 初始版本