用叉子叉pycountry,更正台湾的国名
correct_pycountr的Python项目详细描述
pycountry提供标准的iso数据库:
- 639
- 语言
- 3166
- 国家
- 3166-2
- 国家细分
- 4217
- 货币
- 15924
- 脚本
该软件包包括Debian'spkg isocode的一个副本,并生成数据 可通过python api访问。
还包括各种字符串的翻译文件。
国家(ISO 3166)
可以通过已配置的数据库对象访问国家/地区 进口PYCOUNTRY并作为ITERABLE工作时:
>>> import pycountry >>> len(pycountry.countries) 246 >>> list(pycountry.countries)[0] <pycountry.db.Country object at 0x...>
特定的国家可以通过它们的各种代码进行查询,并提供 作为属性包含在标准中的信息:
>>> germany = pycountry.countries.get(alpha2='DE') >>> germany <pycountry.db.Country object at 0x...> >>> germany.alpha2 'DE' >>> germany.alpha3 'DEU' >>> germany.numeric '276' >>> germany.name 'Germany' >>> germany.official_name 'Federal Republic of Germany'
请注意,由iso 3166-3子标准定义的历史国家不是 包括在这个列表中。
国家细分(ISO 3166-2)
国家的划分比国家本身要复杂一点 因为它们提供了一个嵌套的类型化结构。
所有子分区都可以直接访问:
>>> len(pycountry.subdivisions) 4548 >>> list(pycountry.subdivisions)[0] <pycountry.db.Subdivision object at 0x...>
可使用其唯一代码访问细分,并至少提供 他们的代码、姓名和类型:
>>> de_st= pycountry.subdivisions.get(code='DE-ST') >>> de_st.code 'DE-ST' >>> de_st.name 'Sachsen-Anhalt' >>> de_st.type 'State' >>> de_st.country <pycountry.db.Country object at 0x...>
某些细分将另一个细分指定为父级:
>>> al_br = pycountry.subdivisions.get(code='AL-BU') >>> al_br.code 'AL-BU' >>> al_br.name u'Bulqiz\xeb' >>> al_br.type 'District' >>> al_br.parent_code 'AL-09' >>> al_br.parent <pycountry.db.Subdivision object at 0x...> >>> al_br.parent.name u'Dib\xebr'
可以使用国家代码索引查询单个国家的地区:
>>> len(pycountry.subdivisions.get(country_code='DE')) 16>>> len(pycountry.subdivisions.get(country_code='US')) 57
脚本(ISO 15924)
脚本可从类似于以下国家的数据库获得:
>>> len(pycountry.scripts) 146 >>> list(pycountry.scripts)[0] <pycountry.db.Script object at 0x...>>>> latin = pycountry.scripts.get(name='Latin') >>> latin <pycountry.db.Script object at 0x...> >>> latin.alpha4 'Latn' >>> latin.name 'Latin' >>> latin.numeric '215'
货币(ISO 4217)
货币数据库与之前的数据库类似:
>>> len(pycountry.currencies) 182 >>> list(pycountry.currencies)[0] <pycountry.db.Currency object at 0x...>>>> argentine_peso = pycountry.currencies.get(letter='ARS') >>> argentine_peso <pycountry.db.Currency object at 0x...> >>> argentine_peso.letter 'ARS' >>> argentine_peso.name 'Argentine Peso' >>> argentine_peso.numeric '032'
语言(ISO 639)
语言数据库也类似:
>>> len(pycountry.languages) 486 >>> list(pycountry.languages)[0] <pycountry.db.Language object at 0x...>>>> aragonese = pycountry.languages.get(alpha2='an') >>> aragonese.alpha2 'an' >>> aragonese.bibliographic 'arg' >>> aragonese.terminology 'arg' >>> aragonese.name 'Aragonese'
区域设置
locales可在以下目录的pycountry.locales\u dir子目录中找到 包裹。根据标准,翻译域称为isoxxx 他们提供翻译。目录的结构与 到python的gettext模块。
下面是翻译语言名称的示例:
>>> import gettext >>> german = gettext.translation('iso3166', pycountry.LOCALES_DIR, ... languages=['de']) >>> german.install() >>> _('Germany') 'Deutschland'
台湾国名
台湾的正式名称是中华民国,但由于 来自中国政府的压力,iso将台湾定义为 中国省,这毕竟不是真的。因此,我们替换 在这个岔口中,中国省被称为中华民国 叉子主要用来。如果你不同意这个修改,请不要 使用它。
>>> import gettext >>> tw = pycountry.countries.get(alpha2='TW') >>> tw.name 'Taiwan, Republic of China' >>> zh_tw = gettext.translation('iso3166', pycountry.LOCALES_DIR, ... languages=['zh_TW']) >>> zh_tw.install(unicode=True) >>> _('Taiwan, Republic of China') u'\u4e2d\u83ef\u6c11\u570b'
更改
0.12.2(2011-05-19)
- 使lxml成为可选依赖项
0.12.1.1(2010-10-19)
- 修复某些区域设置错误
- 在readme.txt中添加台湾国家名称的测试
- 按照原始项目使用修订版 770FA9CD603F90F9FB982B32FE6F45D253F1D33E。
0.12.1(2010-04-21)
- 补救Brown Bag Release 0.12由于错误而丢失了所有数据文件 数据构建系统与zest.relaeser的交互 完全释放脚本。
0.12(2010-04-20)
- 跟随debian存储库到git。
- 将数据升级至版本770FA9CD603F90F9FB982B32FE6F45D253F1D33E 5488及其他要求。
- 反映细分更改及其在XML中引用父级的方式 (他们过去用空格作为分隔符,现在用连字符)。
- 稍微重构一下索引构建结构。
- 从细分数据库中删除多余的“代码”索引。(连同 数据升级也消除了所有恼人的警告 描述见6667)。
- 一些轻PEP8的改进。
0.11(2009-03-03)
- 将Debian存储库更新为R1752。
0.10(2008-06-26)
- 增加了对国家细分的支持(ISO 3166-2)。
0.9
- 初始版本