Sorting list alphabetically
Kev Dwyer
kevin.p.dwyer at gmail.com
Mon Apr 28 02:33:35 EDT 2014
Terry Reedy wrote:
> On 4/27/2014 6:40 AM, Kev Dwyer wrote:
>> Igor Korot wrote:
>>
>>> Hi, ALL,
>>> I need to perform a subj.
>>> Looking at the Google I found following thread with explanation:
>>>
>>> http://stackoverflow.com/questions/36139/how-do-i-sort-a-list-of-
strings-
>> in-python
>>>
>>> However, doing this in my python shell produces an error:
>>>
>>> C:\Documents and Settings\Igor.FORDANWORK\My
>>> Documents\GitHub\webapp>python Python 2.7.5 (default, May 15 2013,
>>> 22:43:36) [MSC v.1500 32 bit (Intel)] on win32
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import locale
>>>>>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
>>> Traceback (most recent call last):
>>> File "<stdin>", line 1, in <module>
>>> File "c:\python27\lib\locale.py", line 547, in setlocale
>>> return _setlocale(category, locale)
>>> locale.Error: unsupported locale setting
>>>>>>
>>>
>>> What is wrong with this?
>>>
>>> Thank you.
>>
>>
>> Hello Igor,
>>
>> Windows maintains it's own names for locales, so you need to
>> supply the Windows name if you're workong on Windows.
>>
>> You might find these links helpful:
>>
>> http://stackoverflow.com/questions/19709026/how-can-i-list-all-available-
>> windows-locales-in-python-console
>
> This one says to look at locale.locala_alias, but that is not helpful.
>
> >>> for k, v in la.items():
> if v.startswith ('en') and 'UTF' in v:
> print(k, " # ", v)
>
> universal.utf8 at ucs4 # en_US.UTF-8
>
> But that local does not work on my machine.
>
> >>> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
> Traceback (most recent call last):
> File "<pyshell#20>", line 1, in <module>
> locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
> File "C:\Programs\Python34\lib\locale.py", line 592, in setlocale
> return _setlocale(category, locale)
> locale.Error: unsupported locale setting
>
> locale.locale_alias must not be machine limited.
>
>> https://mail.python.org/pipermail/python-list/2009-February/525427.html
>
> This merely says to look at a now dead link.
My mistake for not checking the link; this one works:
http://msdn.microsoft.com/en-us/library/hzz3tw78
>
Hello Terry,
Regarding your second point, my mistake in not checking the link:
I'd seen a similar one elsewhere and assumed they were the same.
This link should work:
http://msdn.microsoft.com/en-us/library/hzz3tw78
As to your first point, you're right, it seems setlocale(locale.LC_ALL,
'en_US.UTF-8') doesn't work on Windows.
It seems the locale name needs to be one of the aliases provided
at http://msdn.microsoft.com/en-us/library/39cwe7zf, so for example
locale.setlocale(locale.LC_ALL, 'usa') returns
'English_United States.1252'.
Do you know if this is something people programming on Windows
should just be aware of, or is there a case for a hint of some
kind in the locale module documentation?
Cheers,
Kev
More information about the Python-list
mailing list