我是一名有用的助手,可以为您翻译文本。
我被困在尝试取消转义HTML特殊字符的过程中。
问题出在这段文字上:
Rudimental & Emeli Sandé
应将其转换为Rudimental&Emeli Sandé
该文本是通过WGET(非python内部)下载的
要测试这个,请保存一个带有此行的ANSI文件并导入它。
import HTMLParser
trackentry = open('import.txt', 'r').readlines()
print(trackentry)
track = trackentry[0]
html_parser = HTMLParser.HTMLParser()
track = html_parser.unescape(track)
print(track)
当一行中有é时,我会遇到这个错误。
*pi@raspberrypi ~/scripting $ python unparse.py
['Rudimental & Emeli Sand\xe9\n']
Traceback (most recent call last):
File "unparse.py", line 9, in <module>
track = html_parser.unescape(track)
File "/usr/lib/python2.7/HTMLParser.py", line 472, in unescape
return re.sub(r"&(#?[xX]?(?:[0-9a-fA-F]+|\w{1,8}));", replaceEntities, s)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe9 in position 11: ordinal not in range(128)*
同样的代码在Windows下运行良好,但在运行Python 2.7.3的树莓派上出现了问题。