如何在 Python 3 中获取当前语言环境的字母表?



在Python 2中,您可以执行以下操作来获取当前语言环境的字符集:

import string
print string.letters

但是,在 Python 3 中,字符串模块与语言环境相关的常量(例如string.lettersstring.lowercasestring.uppercase等(被删除了。


如何使用 Python 3 获取当前语言环境的字符集?

您可以使用 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)

最新更新