----- Original Message -----
> From: Terry Reedy <[email protected]>
> To: [email protected]
> Cc:
> Sent: Monday, November 10, 2014 9:31 PM
> Subject: Re: locale.getlocale() in cmd.exe vs. Idle
>
> On 11/10/2014 4:22 AM, Albert-Jan Roskam wrote:
>> Hi,
>>
>> Why do I get different output for locale.getlocale() in Idle vs. cmd.exe?
<snip>
>
> Idle runs code in an environment that is slightly altered from the
> standard python startup environment'. idlelib.IOBinding has this
> '''
> # Try setting the locale, so that we can find out
> # what encoding to use
> try:
> import locale
> locale.setlocale(locale.LC_CTYPE, "")
> '''
Hi Terry,
Thank you. Any idea why setlocale (a *setter*) returns something other than
None? (this question is not related to the (None, None) thing of getlocale,
just curious). Would it be a good idea to put this setlocale line in site.py?
Or should it be in __init__.py to make the code more portable?
> idlelib.run, which runs in the user-code subprocess, imports IOBinding.
> Setting LC_CTYPE is sufficient for getlocale() to not return null values.
So then I would have all the locale categories of the 'bare' locale (sorry, I
don't know what else I should call it), except for LC_CTYPE, which is derived
from my system. So in LC_NUMERIC I'd still have the en_US period/comma for
decimal/thousand grouping, respectively, but I switch to the nl_NL LC_CTYPE. I
doubt if it matters, but still: will this not introduce an ueber hard-to-find
possible bug when I use re.LOCALE?
> C:\Users\Terry>python -c "import locale;
> print(locale.getlocale())"
>
> (None, None)
>
> C:\Users\Terry>python -c "import locale;
> locale.setlocale(locale.LC_CTYPE, ''); print(locale.getlocale())"
> ('English_United States', '1252')
What is the difference between getlocale and getdefaultlocale anyway? The
docstrings are even partially the same. The notatation of getlocale appears to
be OS-specific ("English_United States" in Windows) and not Unix-like (cf.
getdefaultlocale: en_US)
regards,
Albert-Jan
--
https://mail.python.org/mailman/listinfo/python-list