Piszę jakiś kod Pythona i otrzymuję komunikat o błędzie, tak jak w tytule, od przeszukiwania ma to związek z zestawem znaków.
Oto linia, która powoduje błąd
hc = HealthCheck("instance_health", interval=15, target808="HTTP:8080/index.html")
Nie mogę dowiedzieć się, jakiego znaku nie ma w zestawie ANSI ASCII? Ponadto wyszukiwanie „\ xe2” nie daje już informacji o tym, jaki znak ma wyglądać. Który znak w tym wierszu powoduje problem?
Widziałem także kilka poprawek tego problemu, ale nie jestem pewien, którego użyć. Czy ktoś może wyjaśnić, na czym polega problem (python nie interpretuje kodu Unicode, chyba że zostanie o to poproszony?) I jak mam go poprawnie wyjaśnić?
EDYCJA: Oto wszystkie wiersze w pobliżu tej, która zawiera błędy
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
)Odpowiedzi:
Opływasz błąkany bajt. Możesz go znaleźć, uruchamiając
gdzie należy zastąpić
"x.py"
nazwą swojego programu. Zobaczysz numer linii i linie obrażające. Na przykład po arbitralnym wstawieniu tego bajtu otrzymałem:źródło
O'Donnell
Jeśli próbujesz użyć znaków UTF-8 lub nie obchodzi Cię, czy znajdują się one w kodzie, dodaj ten wiersz do góry
.py
plikuźródło
Lub możesz po prostu użyć:
u góry pliku .py
źródło
\ xe2 jest znakiem „-”, pojawia się w pewnej kopii i wkleja, używa innego jednakowo wyglądającego „-”, który powoduje błędy kodowania. Zamień „-” (z wklejania kopii) na poprawny „-” (z przycisku klawiatury).
źródło
Zmień kodowanie znaków pliku,
zawsze umieszczaj poniżej wiersza na górze kodu
źródło
Miałem ten sam błąd podczas kopiowania i wklejania komentarza z sieci
Dla mnie był to pojedynczy cytat (') w słowie
Właśnie go wymazałem i ponownie napisałem.
źródło
Dodanie wiersza # coding = utf-8 w pierwszym wierszu pliku .py rozwiąże problem.
Przeczytaj więcej na temat problemu i jego rozwiązania w poniższym linku, w tym artykule problem i jego rozwiązanie jest pięknie opisane: https://www.python.org/dev/peps/pep-0263/
źródło
Wystąpił ten błąd dla znaków w moich komentarzach (z kopiowania / wklejania treści z Internetu do mojego edytora w celu robienia notatek).
Aby rozwiązać w Text Wrangler:
źródło
Na podstawie PEP 0263 - Definiowanie kodowania kodu źródłowego w języku Python
źródło
Miałem ten sam problem i właśnie dodałem go na początku mojego pliku (w Python 3 nie miałem problemu, ale robiłem to w Python 2
źródło
Po około pół godzinie przeglądania przepełnienia stosu przyszło mi do głowy, że jeśli użycie pojedynczego cudzysłowu „” w komentarzu spowoduje błąd:
Po spojrzeniu na traceback udało mi się znaleźć pojedynczy cytat użyty w moim komentarzu.
źródło
Jeśli to pomaga komukolwiek, dla mnie tak się stało, ponieważ próbowałem uruchomić implementację Django w python 3.4 za pomocą mojej komendy python 2.7
źródło
Miałem właśnie ten problem z uruchomieniem prostego kodu .py poniżej:
Powyższy kod DSM zawiera następujące informacje:
1 „print \ xe2 \ x80 \ x98version to \ xe2 \ x80 \ x99, sys.version”
Problem polegał na tym, że mój edytor tekstów używał INTELIGENTNYCH CYTATÓW, jak sugerował John Y. Po zmianie ustawień edytora tekstu i ponownym otwarciu / zapisaniu pliku działa dobrze.
źródło
Próbuję przeanalizować to dziwne apostraphe systemu Windows i po wypróbowaniu kilku rzeczy tutaj jest fragment kodu, który działa.
źródło
Miałem ten sam problem, ale było tak dlatego, że skopiowałem i wkleiłem ciąg bez zmian. Później, gdy ręcznie wpisałem ciąg, ponieważ błąd zniknął.
Miałem błąd z powodu
-
znaku. Kiedy zastąpiłem go ręcznym wprowadzeniem-
błędu, problem został rozwiązany.Skopiowany ciąg
10 + 3 * 5/(16 − 4)
Ręcznie wpisany ciąg
10 + 3 * 5/(16 - 4)
widać wyraźnie, że istnieje różnica między obydwoma łącznikami .
Myślę, że dzieje się tak z powodu różnych formatów używanych przez inny system operacyjny lub może po prostu inne oprogramowanie.
źródło
Dla mnie problem spowodował ten symbol w cudzysłowie. Skopiowałem kod z pliku pdf, co spowodowało ten błąd. Właśnie zastąpiłem „” „tym” „”.
źródło
Jeśli chcesz zauważyć, jaki znak to spowodował, po prostu przypisz problematyczną zmienną do łańcucha i wydrukuj go w konsoli iPython.
W moim przypadku
źródło
dla mnie problem został spowodowany przez wpisanie mojego kodu do Mac Notes, a następnie skopiowanie go z Mac Notes i wklejenie do mojej sesji vim, aby utworzyć mój plik. To sprawiło, że moje pojedyncze cytaty były zakrzywione. aby to naprawić, otworzyłem plik w vimie i zastąpiłem wszystkie moje zakrzywione pojedyncze cytaty prostym rodzajem, po prostu usuwając i przepisując ten sam znak. To Mac Notes sprawił, że ten sam naciśnięcie klawisza wygenerowało zakrzywiony pojedynczy cytat.
źródło
Długo nie mogłem znaleźć problemu, ale później zdałem sobie sprawę, że skopiowałem wiersz „UTC-12: 00” z sieci i przyczyną tego problemu był łącznik / myślnik. Właśnie napisałem to ponownie „-” i problem został rozwiązany.
Czasami więc wklejone linie kopiowania również dają błędy. W takich przypadkach wystarczy ponownie napisać skopiowany kod i działa. Podczas ponownego pisania wyglądałoby na to, że nic się nie zmieniło, ale błąd zniknie.
źródło
Kiedy mam podobny problem podczas czytania plików tekstowych, używam ...
źródło