AttributeError:'list'对象没有属性'encode'

时间:2011-02-20 00:02:21

标签: python encoding

我有一个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 个答案:

答案 0 :(得分:32)

您需要encode上的tmp[0],而不是tmp

tmp不是字符串。它包含一个(Unicode)字符串。

尝试运行type(tmp)print dir(tmp)以便亲自查看。

答案 1 :(得分:4)

您需要单独解码列表中的每个元素

[x.encode('utf-8') for x in tmp]