2016-06-01 51 views
0

在这里运行python2.7。我正在编写一个快速和肮脏的小脚本来做一些网页抓取,而我只想让unicode处理程序忽略所有的unicode错误。如何通用忽略python中的所有unicode错误?

也就是说,如果在程序中的任何位置只能删除无法转换为ascii的任何字符,我就完全没有问题。这只是我只想完成的一次性脚本:-)

是否有一些全局的“忽略”变量,我可以设置?

谢谢! /YGA

+2

这取决于哪些功能您呼叫。请提供[mcve]。 –

+1

请注意:如果Unicode导致您的问题,首先Python 3通常是更好的选择。 Py2在非ASCII文本中很糟糕。 – ShadowRanger

+0

有没有真正的例子给。设想一下使用Unicode字符串做各种事情的代码(并且通常将其隐式转换为ASCII)。我只是不想看到任何Unicode错误。只是默默地忽略角色。 – YGA

回答

1

我,如果它只是丢弃任何字符不能转换为程序的任何地方ASCII

那么你一定要明确地create your Unicode objectsascii编解码器,并指定要完全罚款ignore错误:

input = unicode(input_bytes, encoding='ascii', errors='ignore') 

Unicode HOWTO更多关于正确处理Unicode的。

(以及编写新的代码,总是选择Python 3或更高版本,除非你有一个很好的结构良好的理由留下来。)

+0

使用'text = input_bytes.decode('ascii','ignore')',以避免与'unicode(obj)'形式的关联。 – jfs