SyntaxError: EOL while scanning string literal, в python

Рейтинг: 0Ответов: 1Опубликовано: 07.02.2023

Насколько я понимаю, ошибка происходит из-за \/ или ,. Как это исправить?

link = f"https://www.soccerstand.com/res/image/data/{(item.split('","detail_link"')[0].split("data\/")[1])}"

Ответы

▲ 2Принят

У вас сейчас в строке в двойных кавычках используются другие двойные кавычки, которые прерывают эту строку (завершают ее), т.е. строка фактически такая:

f"https://www.soccerstand.com/res/image/data/{(item.split('"

Ошибка возникает из-за того, что в этой строке не закрыты фигурные скобки, и в целом текст от начала фигурных скобок до первых встреченных двойных кавычек не является синтаксически корректным (завершенным) выражением, в процессе его парсинга встретился конец строки (EOL - end of line).

Решение простое - не пытаться впихнуть все в f-строку, а вычислять подставляемое значение отдельно:

part = item.split('","detail_link"')[0].split("data\/")[1]
link = f"https://www.soccerstand.com/res/image/data/{part}"