AttributeError: у объекта 'list' нет атрибута 'encode' - PullRequest
18 голосов
/ 20 февраля 2011

У меня есть список объектов Unicode, и я хочу закодировать их в utf-8, но, похоже, кодирование не работает.

код здесь:

>>> tmp = [u' test context']
>>> tmp.encode('utf-8')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'list' object has no attribute 'encode'
>>>

Я не могу понять, почему нет атрибута кодирования

Ответы [ 2 ]

32 голосов
/ 20 февраля 2011

Вам нужно сделать encode на tmp[0], а не на tmp.

tmp не является строкой. содержит (Unicode) строку.

Попробуйте запустить type(tmp) и print dir(tmp), чтобы убедиться в этом сами.

4 голосов
/ 20 марта 2018

Вам нужно unicode каждый элемент списка индивидуально

[x.encode('utf-8') for x in tmp]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...