我必须将语言环境明确设置为土耳其语,因为这不是我计算机上的默认设置,但它似乎或多或少有效:
> python
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from locale import LC_ALL, setlocale
>>> print setlocale(LC_ALL,"Turkish")
Turkish_Turkey.1254
>>> from string import letters
>>> print letters
abcdefghijklmnopqrstuvwxyzƒsoªµºßàáâaäåæçèéêëìíîïgñòóôoöoùúûüisÿ...
ABCDEFGHIJKLMNOPQRSTUVWXYZSOYAAAAÄÅÆÇEÉEEIIIIGÑOOOOÖOUUUÜIS
>>>
输出基本上看起来是正确的(据我所知),除了包含 Q、W 和 X(从本例中可以看出)维基百科文章 http://en.wikipedia.org/wiki/Turkish_alphabet#Letters不属于土耳其语字母表。
Update:
为了更好地复制您的环境,我首先使用“区域和语言选项”控制面板,并将我的区域更改为“土耳其语”,这应该使其成为默认区域setlocale
。事实上它确实如此,但是字母列表看起来仍然不错 - 所以我无法重现你的问题。
这次的一个区别是,在运行 python 之前,我首先将控制台的代码页更改为 Windows ANSI 土耳其语 1254,以便能够正确显示字母表中的字符。这使得输出的最后两个字母正确显示,但它仍然包括 Q、W 和 X 字母,这些字母不是字母表的一部分(在我的选择中,出现在那里是错误的)。
C:\>chcp 1254
Active code page: 1254
C:\>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.
>>> from locale import LC_ALL, setlocale
>>> print setlocale(LC_ALL,"")
Turkish_Turkey.1254
>>> from string import letters
>>> print letters
abcdefghijklmnopqrstuvwxyzƒšœªµºßàáâãäåæçèéêëìíîïğñòóôõöøùúûüışÿ...
ABCDEFGHIJKLMNOPQRSTUVWXYZŠŒŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖØÙÚÛÜİŞ
>>>