SyntaxError EOL While Scanning String Literal

SyntaxError EOL While Scanning String Literal?

erros de sintaxe são detectados antes dos programas serem executados. Normalmente, é apenas um erro de digitação ou um erro sintático. Tal erro em Python é o EOL Sintaxerror enquanto digitaliza o texto literal.

this SyntaxError occurs while the interpreter scans the string literals and hits the EOL (‘End of Line’). Mas se ele não encontrar um caráter específico antes do EOL, o erro é levantado.

deixe-nos entendê-lo mais com a ajuda de um exemplo.

What is “SyntaxError EOL while scanning string literal”?

um erro de Sintaxerror EOL (fim da linha) ocorre quando o interpretador de Python não encontra um caractere particular ou um conjunto de caracteres antes que a linha de código termine. Quando o erro é levantado, a execução do código é interrompida.

  • cotações em falta para fechar o texto
  • cadeia estende-se para além de uma linha

cotações em falta para fechar o texto:

ao fechar uma string, há muitas vezes em que nos esquecemos de adicionar uma vírgula invertida (única ou dupla). Quando isso acontece, o interpretador Python não é capaz de encontrar o fim da linha durante a digitalização da string. Assim o erro de Sintaxerror EOL ocorre.

Exemplo 1:

MyList = if not MyList: print("MyList is emptyelse: print("MyList is not empty")

Saída:

File "main.py", line 3 print("MyList is empty ^SyntaxError: EOL while scanning string literal

Explicação

No código acima, temos inicializado uma lista vazia MyList e usou um if-else bloco para impressão de se ‘MyList’ está vazia ou não. Dentro do bloco if a declaração de impressão é usada para imprimir uma string. Mas faltam duas vírgulas invertidas no fim. E por causa das vírgulas em falta, o interpretador Python é incapaz de encontrar o fim do texto.

Thus the SyntaxError error is encountered.

SyntaxError EOL While Scanning String Literal

Solution

certifique-se que a string deve ser sempre fechada dentro de aspas simples ou duplas.

código correcto

llist = if not llist: print("List is empty")else: print("List is not empty")

saída

MyList is empty

String estende-se para além de uma linha

em Python, não podemos estender a nossa string que é fechada dentro de uma única ou dupla vírgula invertida através de uma única linha. Se tentarmos fazer isso, o erro “SyntaxError EOL enquanto digitaliza o texto literal ocorre” aparecerá. Se queremos que a nossa string se estenda em várias linhas, então elas devem ser fechadas dentro de vírgulas triplas invertidas (simples ou duplas).Exemplo 2:

ttuple = ()if not ttuple: print("Tuple isempty")else: print("Tuple is not empty")

Resultado :

 file "main.py", line 3 print("MyTuple is ^SyntaxError: EOL while scanning string literal

Explicação

No código acima, temos inicializado uma tupla vazia ‘MyTuple’ e utilizado if-else bloco para impressão de se ‘MyTuple’ está vazia ou não. Dentro do bloco if a declaração de impressão é usada para imprimir uma string. Mas a corda é expandida em várias linhas. E não é interpretado pelo interpretador python. Assim, o erro foi levantado.

solução

tente manter toda a cadeia dentro de uma única linha.

código correcto:

MyTuple = ()if not MyTuple: print("MyTuple is empty")else: print("MyTuple is not empty")

resultado:

MyTuple is empty

Nota: Se quiser que o texto seja inicializado em várias linhas. Em seguida, use vírgulas triplas invertidas ou simples(“‘ aspas simples “‘) ou duplas (“”aspas duplas”””) para incluir a sua string.Exemplo:

MyTuple = ()if not MyTuple: print("""MyTuple is empty""")else: print("MyTuple is not empty")

resultado:

MyTuple isempty

conclusão

esperamos que todos os cenários acima explicados o ajudem a prevenir o erro Sintaxerror EOL enquanto digitaliza o erro literal da cadeia. Outro erro que você deve evitar é usar citações incompatíveis. Ao fechar strings, certifique-se de que se ele começa com aspas simples, ele deve terminar com aspas duplas.

You might also like

Deixe uma resposta

O seu endereço de email não será publicado.