Python Glossary English

все Python 3localeфункция

locale.getdefaultlocale()

настройка локали

Угадывает локаль пользователя по переменным окружения LC_ALL, LC_CTYPE, LANG и LANGUAGE и возвращает (код языка, кодировка).

Синтаксис

locale.getdefaultlocale(envvars=('LC_ALL', 'LC_CTYPE', 'LANG', 'LANGUAGE'))

Она читает переменные окружения, а не действующую локаль процесса, поэтому расходится с getlocale() после setlocale() и не знает о режиме UTF-8. В 3.11 её объявили устаревшей и собирались убрать в 3.15, и на 3.11–3.13 вызов печатает DeprecationWarning; в 3.15 (и в свежих выпусках 3.14) устаревание отменили. Для кодировки надёжнее getencoding(), для локали — setlocale(LC_ALL, '') и getlocale().

Примеры

import locale
import warnings
with warnings.catch_warnings():
    warnings.simplefilter('ignore', DeprecationWarning)  # 3.11–3.13 предупреждают
    print(locale.getdefaultlocale())  # → ? ('ru_RU', 'UTF-8') — по переменным окружения
print(locale.getlocale())  # → ? — а это действующая локаль процесса

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности