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.
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.
LinkedInArticle connexe - Python String
- Supprimer les virgules de la chaîne en Python
- Comment vérifier qu'une chaîne est vide de manière pythonique
- Convertir une chaîne en nom de variable en Python
- Comment supprimer les espaces dans une chaîne de caractères en Python
- Comment extraire des nombres d'une chaîne de caractèresen Python
- Comment convertir une chaîne de caractères en datetime en Python