在Python 2中,您可以执行以下操作来获取当前语言环境的字符集:
import string
print string.letters
但是,在Python 3中,字符串模块的语言环境相关常量(例如string.letters
,string.lowercase
,string.uppercase
等)已被删除。
如何使用Python 3获取当前语言环境的字符集?
答案 0 :(得分:4)
您可以使用exemplar characters模块为每个语言环境获取pyicu:
import locale
from icu import LocaleData
default, encoding = locale.getdefaultlocale()
languages = [default] + ['en_US', 'fr_FR', 'es_ES']
for language in languages:
data = LocaleData(language)
alphabet = data.getExemplarSet()
print(language, alphabet)
输出
pt_BR [a-zà-ãçéêíò-õú]
en_US [a-z]
fr_FR [a-zàâæ-ëîïôùûüÿœ]
es_ES [a-záéíñóúü]
要获取当前的语言环境就足够了:
default, _ = locale.getdefaultlocale()
data = LocaleData(default)
alphabet = data.getExemplarSet()
print(default, alphabet)