SyntaxError EOL durante la Exploración Literal de Cadena

SyntaxError EOL durante la Exploración Literal de Cadena?

Se detectan errores de sintaxis antes de que se ejecuten los programas. Por lo general, es solo un error de escritura o un error sintáctico. Tal error en Python es el error de sintaxis EOL al escanear el literal de cadena.

Este error de sintaxis ocurre mientras el intérprete escanea los literales de cadena y golpea el EOL (‘Fin de línea’). Pero si no encuentra un carácter específico antes de la EOL, se produce el error.

Entendámoslo más con la ayuda de un ejemplo.

¿Qué es «SyntaxError EOL al escanear literal de cadena»?

Se produce un error EOL(Fin de línea) de SyntaxError cuando el intérprete de Python no encuentra un carácter en particular o un conjunto de caracteres antes de que finalice la línea de código. Cuando se genera el error, se detiene la ejecución del código.

  • Comillas faltantes para cerrar la cadena
  • La cadena Se Extiende más Allá de una Línea

Comillas Faltantes para Cerrar la cadena:

Al cerrar una cadena, a menudo hay ocasiones en que nos olvidamos de agregar una coma invertida (simple o doble). Cuando esto sucede, el intérprete de Python no es capaz de encontrar el final de la línea mientras escanea la cadena. Por lo tanto, se produce el error SyntaxError EOL.

Ejemplo 1:

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

Producto:

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

Explicación

En el código anterior, inicializamos una lista vacía myList y usamos un bloque if-else para imprimir si ‘myList’ está vacía o no. Dentro del bloque if, la instrucción print se utiliza para imprimir una cadena. Pero a la cadena le faltan dos comillas invertidas al final. Y debido a las comas que faltan, el intérprete de Python no puede encontrar el final de la cadena.

Por lo tanto, se encuentra el error SyntaxError.

SyntaxError EOL durante la Exploración Literal de Cadena

Solución

asegúrese de que la cadena debe estar siempre cerrado dentro de una o dos citas.

Código correcto

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

Salida

MyList is empty

La cadena se extiende más allá de una línea

En Python, no podemos extender nuestra cadena que está encerrada dentro de una coma invertida simple o doble más allá de una sola línea. Si intentamos hacerlo, aparecerá el error «SyntaxError EOL mientras se escanea el literal de cadena». Si queremos que nuestra cadena se extienda en varias líneas, entonces deben estar encerradas entre comillas triples invertidas (simples o dobles).

Ejemplo 2:

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

Salida :

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

Explicación

En el código anterior, inicializamos una tupla vacía ‘ miple ‘y usamos el bloque if-else para imprimir si’ Miple ‘ está vacío o no. Dentro del bloque if, la instrucción print se utiliza para imprimir una cadena. Pero la cadena se expande en varias líneas. Y no es interpretado por el intérprete de python. Así se plantea el error.

Solución

Intente mantener toda la cadena dentro de una sola línea.

Código Correcto:

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

Salida:

MyTuple is empty

Nota: Si desea que la cadena ser inicializado en varias líneas. Luego use comillas triples invertidas, ya sea simples («‘Comillas simples»‘) o dobles(«»»comillas dobles»»»») para encerrar su cadena.

Ejemplo:

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

Producto:

MyTuple isempty

Conclusión

Esperamos que todos los escenarios explicados anteriormente le ayuden a evitar el error de sintaxis EOL mientras escanea el error literal de cadena. Otro error que debe evitar es el uso de citas no coincidentes. Al cerrar cadenas, asegúrese de que si comienza con comillas simples, debe terminar con comillas dobles.

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.