ISO国家、分部、语言、货币和脚本定义及其翻译
pycountr的Python项目详细描述
pycountry
pycountry提供标准的iso数据库:
< DL>该软件包包括一份来自Debian的 pkg isocode 的副本,并制作数据 可通过python api访问。
还包括各种字符串的翻译文件。
数据更新策略
PYCOUNTRY不接受对数据的任何更改。这是纯包装纸 使用debian as 数据库中的 pkg isocode 围绕iso标准。 如果你需要改变世界政治局势,请与 ISO或Debian的人,而不是我。
捐款/货币支持
这是我在私人时间里做的一个小项目。我不是 对个人经济利益感兴趣。但是,如果你想支持 如果你愿意捐赠给女性主义频率,我将非常乐意。同时,让全世界都知道你 这样做是为了让其他人能够跟随您的道路。
国家(ISO 3166)
可以通过已配置的数据库对象访问国家/地区 进口PYCOUNTRY并作为ITERABLE工作时:
>>> importpycountry>>> len(pycountry.countries)249
>>> list(pycountry.countries)[0]Country(alpha_2='AF', alpha_3='AFG', name='Afghanistan', numeric='004', official_name='Islamic Republic of Afghanistan')
特定的国家可以通过它们的各种代码进行查询,并提供 作为属性包含在标准中的信息:
>>> germany=pycountry.countries.get(alpha_2='DE')>>> germanyCountry(alpha_2='DE', alpha_3='DEU', name='Germany', numeric='276', official_name='Federal Republic of Germany')
>>> germany.alpha_2'DE'
>>> germany.alpha_3'DEU'
>>> germany.numeric'276'
>>> germany.name'Germany'
>>> germany.official_name'Federal Republic of Germany'
历史国家数据库包含 从标准中删除,现在包括在ISO 3166-3中,不包括 现有的:
>>> ussr=pycountry.historic_countries.get(alpha_3='SUN')>>> ussrCountry(alpha_3='SUN', alpha_4='SUHH', withdrawal_date='1992-08-30', name='USSR, Union of Soviet Socialist Republics', numeric='810')
>>> ussr.alpha_4'SUHH'
>>> ussr.alpha_3'SUN'
>>> ussr.name'USSR, Union of Soviet Socialist Republics'
>>> ussr.withdrawal_date'1992-08-30'
也有一个"模糊"的搜索帮助人们发现"合适的"国家 可能只是细分的名称。模糊性还包括 规范化Unicode重音。还包括一些优先顺序 在细分名称和具有国家/地区之前首选国家/地区名称匹配 如果匹配项较多,则在匹配项较少的匹配项之前列出:
>>> pycountry.countries.search_fuzzy('England')[Country(alpha_2='GB', alpha_3='GBR', name='United Kingdom', numeric='826', official_name='United Kingdom of Great Britain and Northern Ireland')]
>>> pycountry.countries.search_fuzzy('Cote')[Country(alpha_2='CI', alpha_3='CIV', name="Côte d'Ivoire", numeric='384', official_name="Republic of Côte d'Ivoire"),
Country(alpha_2='FR', alpha_3='FRA', name='France', numeric='250', official_name='French Republic'),
Country(alpha_2='HN', alpha_3='HND', name='Honduras', numeric='340', official_name='Republic of Honduras')]
国家细分(ISO 3166-2)
国家的划分比国家本身要复杂一点 因为它们提供了嵌套的类型化结构。
所有子分区都可以直接访问:
>>> len(pycountry.subdivisions)4847
>>> list(pycountry.subdivisions)[0]Subdivision(code='AD-07', country_code='AD', name='Andorra la Vella', parent_code=None, type='Parish')
可使用其唯一代码访问细分,并至少提供 他们的代码、姓名和类型:
>>> de_st=pycountry.subdivisions.get(code='DE-ST')>>> de_st.code'DE-ST'
>>> de_st.name'Sachsen-Anhalt'
>>> de_st.type'State'
>>> de_st.countryCountry(alpha_2='DE', alpha_3='DEU', name='Germany', numeric='276', official_name='Federal Republic of Germany')
某些细分将另一个细分指定为父级:
>>> al_br=pycountry.subdivisions.get(code='AL-BU')>>> al_br.code'AL-BU'
>>> al_br.name'Bulqiz\xeb'
>>> al_br.type'District'
>>> al_br.parent_code'AL-09'
>>> al_br.parentSubdivision(code='AL-09', country_code='AL', name='Dib\xebr', parent_code=None, type='County')
>>> al_br.parent.name'Dib\xebr'
可以使用国家代码索引查询单个国家的地区:
>>> len(pycountry.subdivisions.get(country_code='DE'))16
>>> len(pycountry.subdivisions.get(country_code='US'))57
脚本(ISO 15924)
脚本可从类似于以下国家的数据库获得:
>>> len(pycountry.scripts)169
>>> list(pycountry.scripts)[0]Script(alpha_4='Afak', name='Afaka', numeric='439')
>>> latin=pycountry.scripts.get(name='Latin')>>> latinScript(alpha_4='Latn', name='Latin', numeric='215')
>>> latin.alpha4'Latn'
>>> latin.name'Latin'
>>> latin.numeric'215'
货币(ISO 4217)
货币数据库与之前的数据库类似:
>>> importpycountry>>> len(pycountry.countries)249
>>> list(pycountry.countries)[0]Country(alpha_2='AF', alpha_3='AFG', name='Afghanistan', numeric='004', official_name='Islamic Republic of Afghanistan')
0
语言(ISO 639-3)
语言数据库也类似:
>>> importpycountry>>> len(pycountry.countries)249
>>> list(pycountry.countries)[0]Country(alpha_2='AF', alpha_3='AFG', name='Afghanistan', numeric='004', official_name='Islamic Republic of Afghanistan')
1
区域设置
locales可在以下目录的 pycountry.locales\u dir 子目录中找到 包裹。根据标准,翻译域称为isoxxx 他们提供翻译。目录的结构与 给python的gett外部模块。
下面是翻译语言名称的示例:
>>> importpycountry>>> len(pycountry.countries)249
>>> list(pycountry.countries)[0]Country(alpha_2='AF', alpha_3='AFG', name='Afghanistan', numeric='004', official_name='Islamic Republic of Afghanistan')
2
查找
对于每个数据库(国家、语言、脚本等),您还可以查找 实体的大小写是无意识的,而不知道值可能匹配哪个键。为了 例子:
>>> importpycountry>>> len(pycountry.countries)249
>>> list(pycountry.countries)[0]Country(alpha_2='AF', alpha_3='AFG', name='Afghanistan', numeric='004', official_name='Islamic Republic of Afghanistan')
3
搜索以返回的第一个匹配项结束。