У меня есть вышеупомянутая ошибка в s1="some very long string............"
Кто-нибудь знает, что я делаю не так?
python
string
string-literals
л --''''''--------- «» «» «» «» «» «»
источник
источник
Ответы:
Вы не ставите
"
до конца строки.Используйте,
"""
если вы хотите сделать это:источник
У меня была эта проблема - в конце концов я понял, что причина в том, что я включил
\
символы в строку. Если у вас есть какие-либо из них, «избегайте» их,\\
и это должно работать нормально.источник
r
перед строкой, чтобы избежать проблем.(Предполагая, что в вашей строке нет / хотите разрывов строк ...)
Как долго эта строка действительно?
Я подозреваю, что есть предел тому, как долго может быть прочитана строка из файла или из командной строки, и поскольку конец строки отсекается, синтаксический анализатор видит что-то вроде
s1="some very long string..........
(без окончания"
) и, таким образом, выдает ошибку синтаксического анализа?Вы можете разбить длинные строки на несколько строк, избегая разрывов строк в вашем источнике, например:
источник
В моей ситуации
\r\n
в моем словаре были строки из одинарных кавычек. Я заменил все экземпляры\r
с\\r
и\n
с\\n
и сосредоточил свой вопрос, правильно возвращения сбежавших разрывов строк в eval'ed Dict.источник
Я столкнулся с подобной проблемой. У меня была строка, которая содержала путь к папке в Windows, например
C:\Users\
. Проблема в том, что\
это escape-символ, поэтому, чтобы использовать его в строках, вам нужно добавить еще один\
.Неправильно:
C:\Users\
Верный:
C:\\\Users\\\
источник
У меня тоже была эта проблема, хотя здесь были ответы, я хочу отметить важный момент после того, как
/
не должно быть пустых мест.источник
У меня также было это точное сообщение об ошибке, для меня проблема была исправлена добавлением "\"
Оказывается, в моей длинной строке, разбитой примерно на восемь строк с «\» в самом конце, отсутствовала буква «\» в одной строке.
Python IDLE не указывал номер строки, на которой была эта ошибка, но он выделял красным цветом абсолютно правильный оператор присваивания переменной, отбрасывая меня. Фактически искаженный оператор строки (несколько строк длиной с "\") был смежен с выделенным оператором. Может быть, это поможет кому-то еще.
источник
В моем случае я использую Windows, поэтому я должен использовать двойные кавычки вместо одинарных.
источник
Я получил эту ошибку в функции postgresql. У меня был длинный SQL, который я разбил на несколько строк с \ для лучшей читаемости. Однако это была проблема. Я удалил все и сделал их в одну строку, чтобы исправить проблему. Я использовал pgadmin III.
источник
В моем случае с Mac OS X у меня было следующее утверждение:
Я получаю ошибку:
После того, как я перехожу на:
Это сработало...
Дэвид
источник
Вы можете попробовать это:
источник
s = r'long\annoying\path\\'
.Ваш
variable(s1)
охватывает несколько строк. Чтобы сделать это (т.е. вы хотите, чтобы ваша строка занимала несколько строк), вы должны использовать тройные кавычки ("" ").источник
В этом случае будут работать три одинарные или три двойные! Например:
ИЛИ
источник
Большинство предыдущих ответов верны, и мой ответ очень похож на aaronasterling, вы также можете сделать 3 одинарные кавычки s1 = '' 'очень длинная строка ............' ''
источник
Я столкнулся с той же проблемой при доступе к любому каталогу жесткого диска. Тогда я решил это таким образом.
Рисунок выше показывает ошибку и разрешенный вывод.
источник