Eu tenho o erro mencionado acima em s1="some very long string............"
Alguém sabe o que estou fazendo de errado?
python
string
string-literals
eu--''''''---------''''''''''''
fonte
fonte
Respostas:
Você não está colocando um
"
antes do final da linha.Use
"""
se você quiser fazer isso:fonte
Eu tive esse problema - acabei descobrindo que o motivo era que eu incluí
\
caracteres na string. Se você tiver alguma dessas opções, "escape" delas\\
e ela deve funcionar bem.fonte
r
antes da string para evitar que eles causem problemas.(Supondo que você não tenha / queira quebras de linha na sua string ...)
Quanto tempo dura essa string?
Eu suspeito que há um limite para quanto tempo uma linha pode ser lida em um arquivo ou na linha de comando e, como o final da linha é cortado, o analisador vê algo como
s1="some very long string..........
(sem final"
) e, portanto, gera um erro de análise?Você pode dividir linhas longas em várias linhas, escapando as quebras de linha em sua fonte desta maneira:
fonte
Na minha situação, eu tinha
\r\n
em minhas cadeias de dicionário de aspas simples. Substituí todas as instâncias de\r
with\\r
e\n
with\\n
e ele corrigiu meu problema, retornando corretamente quebras de linha escapadas no ditado avaliado.fonte
Eu enfrentei um problema semelhante. Eu tinha uma string que continha o caminho para uma pasta no Windows, por exemplo,
C:\Users\
o problema é que\
é um caractere de escape e, portanto, para usá-lo em strings, você precisa adicionar mais um\
.Incorreta:
C:\Users\
Corrigir:
C:\\\Users\\\
fonte
Eu também tive esse problema, embora houvesse respostas aqui, quero um ponto importante para isso depois que
/
não deve haver espaços vazios.fonte
Eu também recebi essa mensagem de erro exata. Para mim, o problema foi corrigido adicionando um "\"
Acontece que minha longa corda, dividida em oito linhas com "\" no final, estava faltando um "\" em uma linha.
O Python IDLE não especificou um número de linha em que esse erro estava ativado, mas destacou em vermelho uma instrução de atribuição de variável totalmente correta, o que me excitou. A instrução de cadeia de caracteres deformada real (várias linhas com "\") era adjacente à instrução sendo destacada. Talvez isso ajude alguém.
fonte
No meu caso, eu uso o Windows, então tenho que usar aspas duplas em vez de simples.
fonte
Eu estava recebendo esse erro na função postgresql. Eu tinha um SQL longo, que dividi em várias linhas com \ para melhor legibilidade. No entanto, esse era o problema. Eu removi todos e os criei em uma linha para corrigir o problema. Eu estava usando o pgadmin III.
fonte
No meu caso com o Mac OS X, tive a seguinte declaração:
Eu estava recebendo o erro:
Depois de mudar para:
Funcionou...
David
fonte
Você pode tentar isso:
fonte
s = r'long\annoying\path\\'
.Seu
variable(s1)
abrange várias linhas. Para fazer isso (ou seja, você deseja que sua cadeia de caracteres abranja várias linhas), é necessário usar aspas triplas ("" ").fonte
Nesse caso, três aspas simples ou três duplas irão funcionar! Por exemplo:
OU
fonte
A maioria das respostas anteriores está correta e minha resposta é muito semelhante a aaronasterling, você também pode fazer 3 citações simples s1 = '' 'alguma sequência muito longa ............' ''
fonte
Eu havia enfrentado o mesmo problema ao acessar qualquer diretório de disco rígido. Então eu resolvi dessa maneira.
A imagem acima mostra um erro e uma saída resolvida.
fonte