设置语言环境和字符串模块

问题描述 投票:2回答:1

此简单的脚本:

from locale import LC_ALL, setlocale
print setlocale(LC_ALL,"")
from string import letters
print letters

给我这个输出:

tr_TR.utf8
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

并且在这里:string.letters它表示其值取决于语言环境,并在调用setlocale时更新。但是,我没有看到任何来自我所在地区的信。有什么方法可以获取当前语言环境的字母列表?

python localization python-2.x
1个回答
2
投票

我必须将语言环境显式设置为土耳其语,因为这不是计算机上的默认语言,但似乎工作差不多:

string.letters

[输出基本上看起来正确(AFAIK),除了包含Q,W和X之外,从此> 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 >>> 中的内容不属于土耳其字母。

更新:

为了更好地复制您的环境,我首先使用“区域和语言选项”控制面板,并将区域更改为“土耳其语”,这将使其设为Wikipedia article的默认值。确实的确如此,但是信函清单仍然看起来不错-因此我无法重现您的问题。

这次的区别是,在运行python之前,我首先将控制台的代码页更改为Windows ANSI Turkish 1254,以启用正确显示字母字符的功能。这样可以正确显示输出的最后两个字母,但是它仍然包括Q,W和X字母,这些字母不是字母的一部分(在我的选择中,这里是错误的)。

setlocale
© www.soinside.com 2019 - 2024. All rights reserved.