New submission from Sylvain Marie <sylvain.ma...@schneider-electric.com>:
The example in the doc shows ```python >>> import locale >>> loc = locale.getlocale() # get current locale # use German locale; name might vary with platform >>> locale.setlocale(locale.LC_ALL, 'de_DE') >>> locale.strcoll('f\xe4n', 'foo') # compare a string containing an umlaut >>> locale.setlocale(locale.LC_ALL, '') # use user's preferred locale >>> locale.setlocale(locale.LC_ALL, 'C') # use default (C) locale >>> locale.setlocale(locale.LC_ALL, loc) # restore saved locale ``` However locale.getlocale() does not return the locale for all categories (locale.LC_ALL is even not allowed) but the locale for the LC_CTYPE category. Therefore restoring it using `locale.setlocale(locale.LC_ALL, loc)` does not actually restore the initial settings, and may even fail on some platforms (on mine it does). The correct example should have the first line of code replaced with ``` >>> loc = locale.setlocale(locale.LC_ALL) # get current locale ``` Note: this issue was first reported in the `pandas` library at https://github.com/pandas-dev/pandas/issues/46595 ---------- assignee: docs@python components: Documentation messages: 416487 nosy: docs@python, smarie priority: normal severity: normal status: open title: locale module example is wrong for some platforms versions: Python 3.10 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue47187> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com