Форум сайта python.su
Все здравствуйте!
Знаю, что тема уже обсуждалась много раз, но я так и не смог победить свою задачу. Если есть возможность подскажите пожалуйста как решить ее:
# -*- coding: utf-8 -*- fileName = '/Users/adam/Downloads/test.txt' data = [['Пример 1'], ['Пример 2'], ['Пример 3']] fm = open( fileName, 'wb' ) fm.write( str( data ) ) fm.close() fd = open( fileName, 'rb' ) data = fd.read() fd.close() print data
[['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80 1'], ['\u041f\u0440\u0438\u043c\u0435\u0440 2'], ['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80 3']]
Отредактировано Dobrodel (Окт. 25, 2014 13:16:33)
Офлайн
для 2.x
import codecs data = [[u'Пример 1'], [u'Пример 2'], [u'Пример 3']] with codecs.open("some.name","w",coding="utf-8") as f: f.write(....)
Офлайн
Благодарю за ответ
Только список наполняется из внешнего источника и я не ведаю как подставить туда буковку u.
Офлайн
>>> data = [['Пример 1'], ['Пример 2'], ['Пример 3']] >>> data [['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80 1'], ['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80 2'], ['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80 3']] >>>
Офлайн
py.user.next, подскажите пожалуйста что Вы имели ввиду своим предыдущим сообщением? Я, возможно, в силу отсутствия своих некоторых компетенций, так и не смог понять его предназначение.
Это как то поможет мне решить поставленный вопрос в данной теме?
Офлайн
Файл пишется и читается правильно. Дело в отображении строк с кириллицей. Это особенность второго питона.
Если print нет, то применяется функция repr(), которая возвращает недвусмысленную строку.
>>> s = "Пример" >>> s '\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80' >>> print s Пример >>> s = u"Пример" >>> s u'\u041f\u0440\u0438\u043c\u0435\u0440' >>> print s Пример >>>
>>> s = "Пример" >>> print s, [s] Пример ['\xd0\x9f\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb5\xd1\x80'] >>> >>> s = u"Пример" >>> print s, [s] Пример [u'\u041f\u0440\u0438\u043c\u0435\u0440'] >>>
>>> s = "Пример" >>> print [s][0] Пример >>>
>>> s = 'Пример' >>> print(s, [s]) Пример ['Пример'] >>>
Отредактировано py.user.next (Окт. 26, 2014 06:33:21)
Офлайн
Ясно, благодарю.
Помогло.
Офлайн