Ich schreibe einen Python-Code und erhalte die Fehlermeldung wie im Titel. Die Suche hat mit dem Zeichensatz zu tun.
Hier ist die Zeile, die den Fehler verursacht
hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")
Ich kann nicht herausfinden, welches Zeichen nicht im ANSI-ASCII-Satz enthalten ist. Darüber hinaus gibt die Suche nach "\ xe2" keine weiteren Informationen darüber, als welches Zeichen angezeigt wird. Welches Zeichen in dieser Zeile verursacht das Problem?
Ich habe auch einige Korrekturen für dieses Problem gesehen, bin mir aber nicht sicher, welche ich verwenden soll. Könnte jemand klären, was das Problem ist (Python interpretiert Unicode nur, wenn er dazu aufgefordert wird?) Und wie ich es richtig klären würde?
EDIT: Hier sind alle Zeilen in der Nähe der fehlerhaften
def createLoadBalancer():
conn = ELBConnection(creds.awsAccessKey, creds.awsSecretKey)
hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")
lb = conn.create_load_balancer('my_lb', ['us-east-1a', 'us-east-1b'],[(80, 8080, 'http'), (443, 8443, 'tcp')])
lb.configure_health_check(hc)
return lb
–
-\xe2\x80\x93
)Antworten:
Sie haben ein streunendes Byte im Umlauf. Sie können es finden, indem Sie laufen
wo Sie
"x.py"
durch den Namen Ihres Programms ersetzen sollten . Sie sehen die Zeilennummer und die betreffenden Zeilen. Zum Beispiel habe ich nach dem willkürlichen Einfügen dieses Bytes Folgendes erhalten:quelle
O'Donnell
Wenn Sie nur versuchen, UTF-8-Zeichen zu verwenden, oder es Ihnen egal ist, ob sie in Ihrem Code enthalten sind, fügen Sie diese Zeile oben in Ihre
.py
Datei einquelle
Oder Sie könnten einfach verwenden:
oben in der .py-Datei
quelle
\ xe2 ist das '-' Zeichen, es erscheint in einigen Kopier- und Einfügezeichen und verwendet ein anderes gleich aussehendes '-', das Codierungsfehler verursacht. Ersetzen Sie das '-' (aus Kopieren und Einfügen) durch das richtige '-' (von Ihrer Tastaturtaste).
quelle
Ändern Sie die Codierung der Dateizeichen.
Setzen Sie die untere Zeile immer an die Spitze Ihres Codes
quelle
Ich hatte den gleichen Fehler beim Kopieren und Einfügen eines Kommentars aus dem Web
Für mich war es ein einfaches Zitat (') im Wort
Ich habe es einfach gelöscht und neu getippt.
quelle
Durch Hinzufügen der Zeile #oding = utf-8 in der ersten Zeile Ihrer .py-Datei wird das Problem behoben.
Bitte lesen Sie mehr über das Problem und seine Behebung unter dem folgenden Link. In diesem Artikel wird das Problem und seine Lösung ausführlich beschrieben: https://www.python.org/dev/peps/pep-0263/
quelle
Ich habe diesen Fehler für Zeichen in meinen Kommentaren erhalten (durch Kopieren / Einfügen von Inhalten aus dem Web in meinen Editor zum Notieren).
So lösen Sie in Text Wrangler:
quelle
Basierend auf PEP 0263 - Definieren von Python-Quellcode-Codierungen
quelle
Ich hatte das gleiche Problem und fügte es einfach oben in meine Datei ein (in Python 3 hatte ich das Problem nicht, aber in Python 2
quelle
Nach ungefähr einer halben Stunde des Durchsuchens des Stapelüberlaufs wurde mir klar, dass die Verwendung eines einfachen Anführungszeichens "'" in einem Kommentar den Fehler verursacht:
Nachdem ich mir den Traceback angesehen hatte, konnte ich das in meinem Kommentar verwendete einfache Zitat finden.
quelle
Wenn es jemandem hilft, ist mir das passiert, weil ich versucht habe, eine Django-Implementierung in Python 3.4 mit meinem Befehl python 2.7 auszuführen
quelle
Ich hatte genau dieses Problem mit dem folgenden einfachen .py-Code:
Der obige DSM-Code enthielt Folgendes:
1 'print \ xe2 \ x80 \ x98version ist \ xe2 \ x80 \ x99, sys.version'
Das Problem war also, dass mein Texteditor SMART QUOTES verwendete, wie John Y vorschlug. Nachdem Sie die Einstellungen des Texteditors geändert und die Datei erneut geöffnet / gespeichert haben, funktioniert sie einwandfrei.
quelle
Ich versuche, diesen seltsamen Windows-Apostraphen zu analysieren, und nachdem ich einige Dinge ausprobiert habe, ist hier das Code-Snippet, das funktioniert.
quelle
Ich hatte das gleiche Problem, aber es lag daran, dass ich den String so kopiert und eingefügt habe, wie er ist. Später, als ich die Zeichenfolge manuell eingegeben habe, ist der Fehler verschwunden.
Ich hatte den Fehler aufgrund des
-
Zeichens. Als ich es durch manuelle Eingabe von a ersetzte-
der Fehler behoben.Kopierte Zeichenfolge
10 + 3 * 5/(16 − 4)
Manuell eingegebene Zeichenfolge
10 + 3 * 5/(16 - 4)
Sie können deutlich sehen, dass zwischen den beiden Bindestrichen ein kleiner Unterschied besteht .
Ich denke, das liegt an der unterschiedlichen Formatierung, die von verschiedenen Betriebssystemen oder vielleicht nur an unterschiedlicher Software verwendet wird.
quelle
Für mich hatte das Problem durch "'" dieses Symbol in den Anführungszeichen verursacht. Da ich den Code aus einer PDF-Datei kopiert hatte, verursachte es diesen Fehler. Ich habe gerade "'" durch dieses "'" ersetzt.
quelle
Wenn Sie herausfinden möchten, welches Zeichen dies verursacht hat, weisen Sie die problematische Variable einfach einer Zeichenfolge zu und drucken Sie sie in einer iPython-Konsole.
In meinem Fall
quelle
Für mich wurde das Problem dadurch verursacht, dass ich meinen Code in Mac Notes eingegeben und dann von Mac Notes kopiert und in meine vim-Sitzung eingefügt habe, um meine Datei zu erstellen. Dies machte meine einfachen Anführungszeichen zum gekrümmten Typ. Um dies zu beheben, öffnete ich meine Datei in vim und ersetzte alle meine gekrümmten einfachen Anführungszeichen durch die gerade Art, indem ich das gleiche Zeichen entfernte und erneut eingab. Es waren Mac Notes, die mit demselben Tastendruck das gekrümmte einfache Anführungszeichen erzeugten.
quelle
Ich konnte das Problem lange nicht finden, aber später stellte ich fest, dass ich eine Zeile "UTC-12: 00" aus dem Web kopiert hatte und der Bindestrich / Bindestrich darin das Problem verursachte. Ich habe gerade dieses "-" noch einmal geschrieben und das Problem wurde behoben.
Manchmal geben die kopierten Zeilen auch Fehler. In solchen Fällen schreiben Sie den kopierten Code einfach neu und es funktioniert. Beim erneuten Schreiben sieht es so aus, als hätte sich nichts geändert, aber der Fehler ist verschwunden.
quelle
Wenn ich beim Lesen von Textdateien ein ähnliches Problem habe, verwende ich ...
quelle