首页 > 解决方案 > 如何在 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 编码会更简单

我究竟做错了什么?

标签: pythonunicodeutf-8encode

解决方案


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

>>> 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。


推荐阅读