如何在 Python 中正确编码?

How to properly encode in Python?

我是 python 的新手,我正在为编码而苦苦挣扎

我有一个这样的字符串列表:

keys = ["u'part-00000-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv'", 
        " u'part-00001-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv'"]

我这样做是为了编码

keys = [x.encode('UTF-8') for x in keys]

但是我得到 "b" 追加,结果是

[b"u'part-00000-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv'", 
 b" u'part-00001-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv'"]

我认为只用 utf-8 编码会更简单

我做错了什么?

您应该首先尝试修复您用来获取原始字符串列表的方法,但如果您无法控制它,您可以使用以下方法:

>>> import ast
>>> [ast.literal_eval(i.strip()) for i in keys]

结果应该是

[u'part-00000-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv', 
 u'part-00001-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv']

对于 Python 2,并且

['part-00000-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv', 
 'part-00001-6edc0ee4-de74-4f82-9f8c-b4c965896224-c000.csv']

对于 Python 3.