SyntaxError EOL Durante la scansione stringa letterale

SyntaxError EOL Durante la scansione stringa letterale?

Gli errori di sintassi vengono rilevati prima dell’esecuzione dei programmi. Di solito, è solo un errore di battitura o un errore sintattico. Tale errore in Python è l’EOL SyntaxError durante la scansione della stringa letterale.

Questo SyntaxError si verifica mentre l’interprete esegue la scansione dei letterali delle stringhe e colpisce l’EOL(‘End of Line’). Ma se non trova un carattere specifico prima dell’EOL, l’errore viene generato.

Cerchiamo di capire di più con l’aiuto di un esempio.

Che cos’è “SyntaxError EOL durante la scansione della stringa letterale”?

Un errore SyntaxError EOL(End of Line) si verifica quando l’interprete Python non trova un carattere particolare o un insieme di caratteri prima della fine della riga di codice. Quando viene generato l’errore, l’esecuzione del codice viene interrotta.

  • Virgolette mancanti per la chiusura della stringa
  • La stringa si estende oltre una riga

Virgolette mancanti per la chiusura della stringa:

Mentre si chiude una stringa, ci sono spesso momenti in cui ci dimentichiamo di aggiungere una virgola invertita (singola o doppia). Quando ciò accade, l’interprete Python non è in grado di trovare la fine della riga durante la scansione della stringa. Quindi si verifica l’errore SyntaxError EOL.

Esempio 1:

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

Uscita:

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

Spiegazione

Nel codice precedente, abbiamo inizializzato una lista vuota MyList e utilizzato un blocco if-else per stampare se ‘MyList’ è vuoto o meno. All’interno del blocco if l’istruzione print viene utilizzata per stampare una stringa. Ma alla stringa mancano doppie virgole invertite alla fine. E a causa delle virgole mancanti, l’interprete Python non è in grado di trovare la fine della stringa.

Quindi viene rilevato l’errore SyntaxError.

SyntaxError EOL Durante la scansione della stringa letterale

Soluzione

Assicurarsi che la stringa debba essere sempre chiusa tra virgolette singole o doppie.

Codice corretto

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

Output

MyList is empty

String Si estende oltre una riga

In Python, non possiamo estendere la nostra stringa che è racchiusa all’interno di una singola o doppia virgola invertita oltre una singola riga. Se proviamo a farlo, apparirà l’errore “SyntaxError EOL durante la scansione della stringa letterale”. Se vogliamo che la nostra stringa si estenda in più righe, allora dovrebbero essere racchiuse all’interno di triple virgole invertite (singole o doppie).

Esempio 2:

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

Uscita :

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

Spiegazione

Nel codice precedente, abbiamo inizializzato una tupla vuota ‘MyTuple’ e usato il blocco if-else per stampare se ‘MyTuple’ è vuoto o meno. All’interno del blocco if l’istruzione print viene utilizzata per stampare una stringa. Ma la stringa viene espansa in più righe. E non è interpretato dall’interprete python. Quindi l’errore è sollevato.

Soluzione

Cerca di mantenere l’intera stringa all’interno di una singola riga.

Codice corretto:

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

Uscita:

MyTuple is empty

Nota: se si desidera che la stringa venga inizializzata in più righe. Quindi utilizzare triple virgolette singole (“‘Virgolette singole”‘) o doppie (“””virgolette doppie””””) per racchiudere la stringa.

Esempio:

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

Uscita:

MyTuple isempty

Conclusione

Speriamo che tutti gli scenari spiegati sopra ti aiutino a prevenire l’EOL SyntaxError durante la scansione dell’errore letterale della stringa. Un altro errore da evitare è l’utilizzo di citazioni non corrispondenti. Durante la chiusura delle stringhe, assicurarsi che se inizia con virgolette singole, deve terminare con virgolette doppie.

You might also like

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.