Mam wyżej wymieniony błąd w s1="some very long string............"
python: SyntaxError: EOL podczas skanowania ciąg dosłownego
Każdy wie, co robię źle?
Mam wyżej wymieniony błąd w s1="some very long string............"
python: SyntaxError: EOL podczas skanowania ciąg dosłownego
Każdy wie, co robię źle?
Nie wstawiasz "
przed końcem linii.
Zastosowanie """
jeśli chcesz to zrobić:
""" a very long string ......
....that can span multiple lines
"""
Używając tylko trzech cudzysłowów, miałem cztery przypadki i pojawił się błąd. – Oregano
Co ze złączonymi łańcuchami i zmiennymi? –
(Zakładając, że nie masz/chcesz podziały wiersza w Twojej ciąg ...)
Jak długi jest ten ciąg naprawdę?
Podejrzewam istnieje granica tego, jak długo linia odczytać z pliku lub z linii poleceń może być, i dlatego, że koniec linii dostaje choped off parser widzi coś podobnego s1="some very long string..........
(bez kończącego "
), a tym samym zgłasza błąd parsowania?
Można podzielić długie linie w wielu liniach uciekając linebreaks w źródle tak:
s1="some very long string.....\
...\
...."
miałem tego problemu - w końcu zorientują się, że powodem było to, że ja zawarte \
znaki ciąg znaków. Jeśli masz któryś z nich, "uciec" je z \\
i powinien działać dobrze.
Ten problem pojawia się często. Co więcej, zależy to od tego, jaki system operacyjny OS rozwijasz. Slash i anti-slash są różne dla Windowsa i Unixa –
wow nie widziały tego, co słychać w \ w napisach dla pythona, potem – Leo
. Dla problemu slash vs anti-slash możesz użyć os.name, aby określić, który system operacyjny jest uruchomiony kod na następnie użyj instrukcji if, aby ustawić odpowiedni znak. – jmdeamer
miałem też dokładnie ten komunikat o błędzie, dla mnie problem został rozwiązany przez dodanie „\”
Okazuje się, że mój długi łańcuch, podzielone na około osiem linii z „\” na samym końcu, brakowało "\" w jednej linii.
Python IDLE nie określił numeru wiersza, w którym ten błąd był włączony, ale podświetlono na czerwono poprawne polecenie przypisania zmiennej, wyrzucając mnie. Rzeczywiste zniekształcone wyrażenie (długie linie z "\") sąsiadowały z podświetlaną instrukcją. Może to pomoże komuś innemu.
ja też miałem ten problem, choć nie było odpowiedzi tutaj chcę ważny punkt do tego po /
nie powinno być puste spaces.Be świadomy
W mojej sytuacji, miałem \r\n
w moje jedno-cytowane ciągi słowników. Zastąpiłem wszystkie instancje \r
z \\r
i \n
z \\n
i to naprawiło mój problem, poprawnie zwracając zerwane znaki linii w eval'ed dict.
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
Miałem podobny problem. Miałem ciąg zawierający ścieżkę do folderu w systemie Windows, na przykład C:\Users\
Problem polega na tym, że \
jest znakiem escape, więc aby użyć go w łańcuchach, musisz dodać jeszcze jeden \
.
Niepoprawnie: C:\Users\
Poprawnie: C:\\\Users\\\
W moim przypadku korzystania z systemu Windows, więc muszę używać cudzysłowów zamiast pojedynczej.
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
Otrzymałem ten błąd w funkcji postgresql. Miałem długi SQL, który łamałem na wiele wierszy z \ dla lepszej czytelności. Jednak to był problem. Usunąłem wszystkie i zrobiłem je w jednym wierszu, aby naprawić problem. Używałem pgadmin III.
Czy jesteś pewien, że jest on zamykany poprawnie i czy gdzieś nie ma cudzysłowy bez żadnych znaków? – quantumSoup
Cytaty niecenzuralne powodują kolejny błąd analizy składni. – JanC