Python中的语言代码列表(ISO639-1)?

时间:2015-09-25 00:32:41

标签: python

是否可以从pycountry 1.15获取所有ISO639-1语言代码的列表?例如,['en','it','el','fr',...]?如果是,那么如何?

我担心以下情况不起作用:

import pycountry
pycountry.languages

2 个答案:

答案 0 :(得分:7)

这将为您提供两位数的ISO3166-1国家/地区代码列表:

countries = [country.alpha2 for country in pycountry.countries]

这将为您提供两位数的ISO639-1语言代码列表:

langs = [lang.iso639_1_code
         for lang in pycountry.languages
         if hasattr(lang, 'iso639_1_code')]

这将为您提供所有语言代码的列表:

langs = [getattr(lang, 'iso639_1_code', None) or 
         getattr(lang, 'iso639_2T_code', None) or 
         getattr(lang, 'iso639_3_code') 
         for lang in pycountry.languages]

答案 1 :(得分:0)

对于Python3,其:

countries = [country.alpha_2 for country in pycountry.countries]