Python把一根线变成一根线

2024-03-28 09:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把这个字符串变成一个列表:

f = open( "animals.txt", "r")
g = f.read()
g1 = g.split(",")
print g1 # list of words

我得到:

['\x93SHEEP\x94', '\x94TIGER\x94', '\x94LION\x94', '\x94DEER\x94',
'\x94PIG\x94', '\x94DOG\x94', '\x94CAT\x94', '\x94SHARK\x94',
'\x94RAT\x94', '\x94EEL\x94']

我想要的是:

['SHEEP', 'TIGER', 'LION', 'DEER', 'PIG', 'DOG', 'CAT', 'SHARK', 'RAT', 'EEL']

我该怎么做?你知道吗


Tags: of字符串txt列表readopenlistsplit
3条回答

您可以使用encode('ascii','ignore')删除unicode,但请注意,首先您需要澄清python的字符串是unicode的,您可以使用decode('unicode_escape')来完成:

>>> l
['\x93SHEEP\x94', '\x94TIGER\x94', '\x94LION\x94', '\x94DEER\x94', '\x94PIG\x94', '\x94DOG\x94', '\x94CAT\x94', '\x94SHARK\x94', '\x94RAT\x94', '\x94EEL\x94']
>>> [i.decode('unicode_escape').encode('ascii','ignore') for i in l]
['SHEEP', 'TIGER', 'LION', 'DEER', 'PIG', 'DOG', 'CAT', 'SHARK', 'RAT', 'EEL']

尝试用以下方法来转义字符串:

g.decode("unicode-escape")

或:

for i in range(0,len(g1)):
    g1[i] = g1[i].decode("unicode-escape")

假设g1是包含字符串的数组,g是将整个文件作为字符串包含的变量。你知道吗

我的答案来自:

Python: Sanitize a string for unicode?

试着把这个放在你的代码上面:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

相关问题 更多 >