从用户输入使用pycountry获取国家/地区代码

时间:2016-11-16 09:35:01

标签: python python-2.7 country-codes

我正在尝试将国家/地区名称转换为所需的国家/地区代码。

例如:

United Kingdom : UK

我尝试过以下方法:

import pycountry
user_input = raw_input(': ')
mapping = {country.name: country.alpha2 for country in pycountry.countries}
print mapping.get(user_input)

我相信我可能误解了文档,因为我收到以下错误:

    mapping = {country.name: country.alpha2 for country in pycountry.countries}
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pycountry/db.py", line 22, in __getattr__
    raise AttributeError
AttributeError

2 个答案:

答案 0 :(得分:4)

import pycountry
user_input = raw_input(': ')
mapping = {country.name: country.alpha_2 for country in pycountry.countries}
print mapping.get(user_input)

是使用'alpha2'而不是alpha_2

的正确方法

答案 1 :(得分:1)

对于Python3,我相信使用Pytz内置模块会更容易

>> import pytz
>> print(pytz.country_names['tn'])
Tunisia