2016-06-01 16 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