如何在 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.
我是 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.