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

Python语言代码列表(ISO639-1)?,python,Python,是否可以从pycountry 1.15获得所有ISO639-1语言代码的列表?例如,['en','it','el','fr',…]?如果是,那怎么办 恐怕下面的方法行不通: import pycountry pycountry.languages 这将为您提供两位数的ISO3166-1国家/地区代码列表: countries = [country.alpha2 for country in pycountry.countries] #countries = [country.alpha_2 f

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

恐怕下面的方法行不通:

import pycountry
pycountry.languages

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

countries = [country.alpha2 for country in pycountry.countries]
#countries = [country.alpha_2 for country in pycountry.countries]  # for python3 

这将为您提供两位数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]

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

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]
对于Python3 its:

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

您想要ISO 3166国家代码还是ISO 639语言代码?据我所知,没有“ISO3166-2语言代码”这样的东西<代码>langs=[(lang.iso639_1_代码,lang.name)例如…可用于为语言选择小部件生成数据。如果它只在应用程序启动时运行,则无需硬编码语言列表或保留单独的数据库表。它是alpha_2,至少在Python 3上是这样。它不包含所有语言代码,似乎忽略了一些与特定国家/地区无关的代码。Examplle:wikipedia说“AA”是亚非语系的有效语言代码,但这不是结果。