在哪里/如何在Python中获取区域设置的字母表?

时间:2016-05-07 00:19:04

标签: python unicode locale alphabetical

我是否可以使用Python库或在线资源以编程方式获取特定区域设置的字母表?

例如,对于'es_ES'语言环境,我想获得'ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz'或类似内容。

2 个答案:

答案 0 :(得分:0)

似乎这就是我正在寻找的内容:https://github.com/CrossWaterBridge/python-indexed-collation/,虽然我有兴趣知道Python是否有标准。

答案 1 :(得分:-1)

使用string

import string
print string.ascii_letters

返回:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

来自string的数据:

ascii_letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_lowercase = 'abcdefghijklmnopqrstuvwxyz'
ascii_uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
digits = '0123456789'
hexdigits = '0123456789abcdefABCDEF'
letters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
lowercase = 'abcdefghijklmnopqrstuvwxyz'
octdigits = '01234567'
printable = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTU...'
punctuation = '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
uppercase = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
whitespace = '\t\n\x0b\x0c\r '

此外,您可以使用ordchr获取ASCII值:

>>> ord('a')
97
>>> chr(97)
'a'

您可以获得所有Unicode个字母:

import unicodedata

all_unicode_letters = ''.join(unichr(i) for i in xrange(65536))
letters = ''.join(c for c in all_unicode_letters
                          if unicodedata.category(c) == 'Lu' 
                          or unicodedata.category(c) == 'Ll')

print letters