Как упоминалось в предыдущих ответах, строка действительно будет way слишком длинной. Таким образом, вы должны ориентироваться на (а) определенный язык (и).
[РЕДАКТИРОВАТЬ: я понял, что это был случай для моего первоначального предполагаемого использования, и для большинства применений, я думаю. Однако в то же время Марк Толонен дал хороший ответ на вопрос в том виде, в котором он был задан, поэтому я выбрал его ответ, хотя использовал следующее решение]
Это легко сделать с помощью модуля "locale":
import locale
import string
code = 'fr_FR' ## Do NOT specify encoding (see below)
locale.setlocale(locale.LC_CTYPE, code)
encoding = locale.getlocale()[1]
letters = string.letters.decode(encoding)
с "буквами" в виде строки Unicode длиной 117 символов.
Очевидно, что string.letters зависит от кодировки по умолчанию для выбранного языкового кода, а не от самого языка. Если для языкового стандарта задано значение fr_FR, либо de_DE, либо es_ES, для string.letters будет изменено одно и то же значение (поскольку по умолчанию все они кодируются в ISO8859-1).
Если вы добавите кодировку к коду языка (de_DE.UTF-8), кодировка по умолчанию будет использоваться вместо string.letters. Это может привести к UnicodeDecodeError, если вы использовали оставшуюся часть кода выше.