Вот один из способов преобразования списков строк, чтобы сделать их более читаемыми в Python 2. Этот код явно кодирует данные Unicode как utf-8 байтов.
#!/usr/bin/env python
data = [
u'\u0410\u0431\u0445\u0430\u0437\u0438\u044f',
u'\u0410\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d',
u'\u0410\u0440\u043c\u0435\u043d\u0438\u044f',
u'\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c',
u'\u0412\u044c\u0435\u0442\u043d\u0430\u043c',
u'\u0413\u0432\u0430\u0442\u0435\u043c\u0430\u043b\u0430',
u'\u0413\u0435\u0440\u043c\u0430\u043d\u0438\u044f',
u'\u0413\u043e\u043d\u043a\u043e\u043d\u0433',
u'\u0413\u0440\u0443\u0437\u0438\u044f',
]
def list_to_utf8(seq):
t = [" u'%s'" % s.encode('utf-8') for s in seq]
return '[\n' + ',\n'.join(t) + '\n]'
print list_to_utf8(data)
выход
[
u'Абхазия',
u'Азербайджан',
u'Армения',
u'Беларусь',
u'Вьетнам',
u'Гватемала',
u'Германия',
u'Гонконг',
u'Грузия'
]
Чтобы использовать эти данные в коде Python вы должны дать правильный UTF-8 объявление кодировки в верхней части сценария, и вам также должен указать вашему текстовому редактору сохранить файл с помощью кодировки utf-8.
тест
#!/usr/bin/env python
# -*- coding: utf_8 -*-
data = [
u'\u0410\u0431\u0445\u0430\u0437\u0438\u044f',
u'\u0410\u0437\u0435\u0440\u0431\u0430\u0439\u0434\u0436\u0430\u043d',
u'\u0410\u0440\u043c\u0435\u043d\u0438\u044f',
u'\u0411\u0435\u043b\u0430\u0440\u0443\u0441\u044c',
u'\u0412\u044c\u0435\u0442\u043d\u0430\u043c',
u'\u0413\u0432\u0430\u0442\u0435\u043c\u0430\u043b\u0430',
u'\u0413\u0435\u0440\u043c\u0430\u043d\u0438\u044f',
u'\u0413\u043e\u043d\u043a\u043e\u043d\u0433',
u'\u0413\u0440\u0443\u0437\u0438\u044f',
]
newdata = [
u'Абхазия',
u'Азербайджан',
u'Армения',
u'Беларусь',
u'Вьетнам',
u'Гватемала',
u'Германия',
u'Гонконг',
u'Грузия'
]
for s1, s2 in zip(data, newdata):
print s1 == s2, s1, s2
выход
True Абхазия Абхазия
True Азербайджан Азербайджан
True Армения Армения
True Беларусь Беларусь
True Вьетнам Вьетнам
True Гватемала Гватемала
True Германия Германия
True Гонконг Гонконг
True Грузия Грузия
'и '\ u0410 \ u0431 \ u0445 \ u0430 \ u0437 \ u0438 \ u044f'' является юникода' str', так он содержит слово, с этим нет никаких проблем. – Holt
Есть ли способ сделать это слово таким читаемым? – YKY
Ну, это в основном зависит от вашего intrepreter (это строка в unicode, поэтому, возможно, ваш интерпретатор не «распознает» ее) ... Используя 'IPython (3.4) QT Console', ваши выходные слова кода, если я запускаю его с помощью Windows командной строки, я получаю тот же результат, что и вы. Что вы действительно хотите делать с этими линиями? – Holt