2016-06-01 7 views
0

Ausführen von Python2.7 hier. Ich schreibe ein schnelles und schmutziges kleines Skript, um etwas Web-Scraping zu machen, und ich möchte nur, dass der Unicode-Handler alle Unicode-Fehler ignoriert.Wie ignoriere ich universell alle Unicode-Fehler in Python?

Das ist, ich bin völlig in Ordnung, wenn es nur irgendwelche Zeichen fallen lässt, die es nirgendwo im Programm in ASCII konvertieren kann. Dies ist nur ein Wegwerf-Skript, das ich einfach machen will :-)

Gibt es einige globale "Ignorieren" Variable, die ich einstellen kann?

Danke! /YGA

+2

Das hängt davon ab, welche Funktionen Sie anrufen. Bitte geben Sie eine [MCVE] an. –

+1

Nur ein Hinweis: Wenn Unicode Probleme verursacht, ist Python 3 in der Regel eine bessere Option. Py2 ist nur schlecht in Nicht-ASCII-Text. – ShadowRanger

+0

Es gibt nicht wirklich ein Beispiel zu geben. Stellen Sie sich Code vor, der alle möglichen Dinge mit Unicode-Strings erledigt (und diese oft implizit in ASCII konvertiert). Ich möchte einfach keine Unicode-Fehler sehen. Ignoriere den Charakter einfach still. – YGA

Antwort

1

Ich bin völlig in Ordnung, wenn es, was auch immer Zeichen nur fällt es nicht überall

im Programm in ASCII umwandeln kann

Dann Sie explizit create your Unicode objects vom ascii Codec möchten, und geben Sie an ignore Fehler:

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

Siehe Unicode HOWTO für mehr auf Unicode richtig handhaben.

(Und für neuen Code zu schreiben, wählen Sie immer Python 3 oder höher, wenn Sie einen ausgezeichneten haben wohlgeformten Grund zu bleiben.)

+0

Verwenden Sie 'text = input_bytes.decode ('ascii', 'ignore')', um Assoziationen mit dem Formular 'unicode (obj)' zu vermeiden. – jfs

Verwandte Themen