Python3 + языковой стандарт: от каких переменных среды это зависит? - PullRequest
0 голосов
/ 02 марта 2020

У меня установлена ​​pl_PL.utf8 локаль. Давайте запустим python3 repl при использовании этой локали (LC_ALL принудительно применяет все LC_* переменные)

Почему locale.localeconv() содержит локали по умолчанию вместо тех, которые указаны c для pl_PL.utf8?

> locale -a | grep pl
pl_PL.utf8

> LC_ALL="pl_PL.UTF-8" python3
Python 3.6.7 (default, Oct 22 2018, 11:32:17) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> import locale

>>> locale.localeconv()
{'int_curr_symbol': '', 'currency_symbol': '', 'mon_decimal_point': '', 'mon_thousands_sep': '', 'mon_grouping': [], 'positive_sign': '', 'negative_sign': '', 'int_frac_digits': 127, 'frac_digits': 127, 'p_cs_precedes': 127, 'p_sep_by_space': 127, 'n_cs_precedes': 127, 'n_sep_by_space': 127, 'p_sign_posn': 127, 'n_sign_posn': 127, 'decimal_point': '.', 'thousands_sep': '', 'grouping': []}

>>> locale.format("%0.2f", 321546132.1232, monetary=True, grouping=True)
'32154613212'
>>> 
...