我正在尝试将国家/地区名称转换为所需的国家/地区代码。
例如:
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
答案 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