EOL lors de l'analyse du littéral de chaîne en Python

Muhammad Maisam Abbas 30 janvier 2023
  1. Chaînes brutes en Python
  2. EOL lors de l’analyse du littéral de chaîne en Python
EOL lors de l'analyse du littéral de chaîne en Python

Ce didacticiel traitera de l’erreur de syntaxe EOL lors de l’analyse du littéral de chaîne en Python.

Chaînes brutes en Python

Les chaînes brutes sont utilisées pour spécifier des expressions régulières en Python. Avant le guillemet de départ, une chaîne brute est déclarée par un r ou R. Une chaîne brute n’a pas besoin de caractères d’échappement et traite la barre oblique inverse comme une chaîne littérale par convention. L’extrait de code suivant montre le fonctionnement d’une chaîne brute.

print(r"\t\\")

Production:

\t\\

Voyons maintenant à quoi cela ressemblerait dans une chaîne normale.

print("\t\\")

Production:

	\

La différence est limpide. Lorsque nous utilisons une chaîne brute, l’interpréteur python considère \t\\ comme \t\\, mais lorsque nous utilisons une chaîne régulière, l’interpréteur Python considère le \t comme une tabulation et le \ suivant comme caractère d’échappement pour le dernier \.

EOL lors de l’analyse du littéral de chaîne en Python

La seule limitation avec ces chaînes brutes est que nous ne pouvons les terminer qu’avec un nombre pair de barres obliques inverses. Si une chaîne brute se termine par un nombre impair de barres obliques inverses, l’interpréteur Python affiche l’erreur de syntaxe EOL while scanning string literal. En effet, même dans les chaînes brutes, le guillemet peut être échappé par une barre oblique inverse. Avec un nombre impair de barres obliques inverses à la fin, l’interpréteur pense que la dernière barre oblique inverse est utilisée pour échapper au guillemet fermant et continue de rechercher la fin de la chaîne. Ce phénomène a été démontré dans l’exemple de codage ci-dessous.

print(r'\t\\\')

Production:

File "<ipython-input-1-d2ab522bcdab>", line 1
    print(r'\t\\\')
                   ^
SyntaxError: EOL while scanning string literal

Nous avons démontré l’erreur EOL while scanning string literal lors de l’écriture de chaînes brutes en Python.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Python String