Шаг 43.
Основы языка Python.
Строки и двоичные данные. Настройка локали

    На этом шаге мы рассмотрим понятие локали и функции настройки локали.

    Для установки локали (совокупности локальных настроек системы) служит функция setlocale() из модуля locale. Прежде чем использовать функцию, необходимо подключить модуль с помощью выражения:

  import locale

    Функция setlocale() имеет следующий формат:

  setlocale(<Категория>[, <Локаль>]);

    Параметр <Категория> может принимать следующие значения:

    Получить текущее значение локали позволяет функция getlocale([<Категория>]). В качестве примера настроим локаль под Windows вначале на кодировку Windows-1251, потом на кодировку UTF-8, а затем на кодировку по умолчанию. Далее выведем текущее значение локали для всех категорий и только для locale.LC_COLLATE:

>>> import locale
>>> # Для кодировки windows-1251
>>> locale.setlocale(locale.LC_ALL, "Russian_Russia.1251")
'Russian_Russia.1251'
>>> # Устанавливаем локаль по умолчанию
>>> locale.setlocale(locale.LC_ALL, "")
'Russian_Russia.1251'
>>> # Получаем текущее значение локали для всех категорий
>>> locale.getlocale()
('Russian_Russia', '1251')
>>> # Получаем текущее значение категории
>>> locale.getlocale(locale.LC_COLLATE)
('Russian_Russia', '1251')

    Получить настройки локали позволяет функция localeconv(). Функция возвращает словарь с настройками. Результат выполнения функции для локали Russian_Russia.1251 выглядит следующим образом:

>>> locale.localeconv()
{'int_curr_symbol': 'RUB', 'currency_symbol': '?', 
'mon_decimal_point': ',', 'mon_thousands_sep': '\xa0', 'mon_grouping': [3, 0], 
'positive_sign': '', 'negative_sign': '-', 'int_frac_digits': 2, 
'frac_digits': 2, 'p_cs_precedes': 0, 'p_sep_by_space': 1, 
'n_cs_precedes': 0, 'n_sep_by_space': 1, 'p_sign_posn': 1, 'n_sign_posn': 1, 
'decimal_point': ',', 'thousands_sep': '\xa0', 'grouping': [3, 0]}

    На следующем шаге мы рассмотрим методы изменения регистра символов.




Предыдущий шаг Содержание Следующий шаг