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.
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.