SyntaxError EOL Mens Du Skanner Streng Bokstavelig?
Syntaksfeil oppdages før programmene kjører. Vanligvis er det bare en skrivefeil eller en syntaktisk feil. En slik feil i Python er SyntaxError EOL mens du skanner String literal.
Dette SyntaxError oppstår mens tolken skanner strenglitteralene og treffer EOL (‘End Of Line’). Men hvis DET ikke finner et bestemt tegn før EOL, blir feilen hevet.
La oss forstå det mer ved hjelp av et eksempel.
Hva er «SyntaxError EOL mens du skanner streng bokstavelig»?
Det oppstår En SyntaxError EOL(End Of Line) – feil når Python-tolken ikke finner et bestemt tegn eller et sett med tegn før kodelinjen avsluttes. Når feilen er hevet, er kjøring av kode stoppet.
- Manglende Anførselstegn for å lukke strengen
- Strengen Strekker Seg Forbi En Linje
Manglende Anførselstegn For Å Lukke Strengen:
når du lukker en streng, er det ofte tider når vi glemmer å legge til et invertert komma (enkelt eller dobbelt). Når dette skjer, Kan Python-tolken ikke finne Slutten av linjen mens du skanner strengen. Dermed Oppstår SyntaxError EOL-feilen.
Eksempel 1:
MyList = if not MyList: print("MyList is emptyelse: print("MyList is not empty")
Utgang:
File "main.py", line 3 print("MyList is empty ^SyntaxError: EOL while scanning string literal
Forklaring
i koden ovenfor har vi initialisert en tom liste MyList og brukt en if-else-blokk for å skrive ut om ‘MyList’ er tom eller ikke. Inne i if-blokken brukes print-setningen til å skrive ut en streng. Men strengen mangler dobbelt inverterte kommaer på slutten. Og på grunn av de manglende kommaene, Kan Python-tolken ikke finne enden av strengen.
Dermed Oppstår SyntaxError-feilen.
Løsning
Kontroller at strengen alltid skal lukkes i enkle eller doble anførselstegn.
Korrekt Kode
llist = if not llist: print("List is empty")else: print("List is not empty")
Output
MyList is empty
String Strekker Seg Forbi En Linje
I Python kan Vi ikke utvide vår streng som er omsluttet av et enkelt eller dobbelt invertert komma forbi en enkelt linje. Hvis vi prøver å gjøre det feilen «SyntaxError EOL mens skanning strengen bokstavelig oppstår» vil dukke opp. Hvis vi vil at strengen skal strekke seg i flere linjer, bør de være vedlagt i trippel inverterte kommaer (enkelt eller dobbelt).
Eksempel 2:
ttuple = ()if not ttuple: print("Tuple isempty")else: print("Tuple is not empty")
Utgang :
file "main.py", line 3 print("MyTuple is ^SyntaxError: EOL while scanning string literal
Forklaring
i koden ovenfor har vi initialisert en tom tuppel ‘MyTuple’ og brukt if-else block til å skrive ut om ‘MyTuple’ er tom eller ikke. Inne i if-blokken brukes print-setningen til å skrive ut en streng. Men strengen er utvidet i flere linjer. Og blir ikke tolket av python tolk. Dermed er feilen hevet.
Løsning
Prøv å holde hele strengen innenfor en enkelt linje.
Korrekt Kode:
MyTuple = ()if not MyTuple: print("MyTuple is empty")else: print("MyTuple is not empty")
Utgang:
MyTuple is empty
Obs! : hvis du vil at strengen skal initialiseres i flere linjer. Deretter bruker trippel invertert komma enten enkelt («‘Enkelt anførselstegn»‘) eller dobbel («»»Doble anførselstegn»»»») for å legge strengen.
Eksempel:
MyTuple = ()if not MyTuple: print("""MyTuple is empty""")else: print("MyTuple is not empty")
Utgang:
MyTuple isempty
Konklusjon
vi håper alle scenariene forklart ovenfor vil hjelpe deg å forhindre SyntaxError EOL mens du skanner Streng bokstavelig feil. En annen feil du må unngå er å bruke feilaktige sitater. Mens du lukker strenger, sørg for at hvis det begynner med enkle anførselstegn, må det ende med doble anførselstegn.