217 votes

python : SyntaxError : EOL lors de l'analyse littérale d'une chaîne

J'ai l'erreur susmentionnée dans s1="some very long string............"

Quelqu'un sait ce que je fais de mal ?

283voto

aaronasterling Points 25749

Vous ne mettez pas un " avant la fin de la ligne.

Utilisez """ si vous voulez le faire :

""" a very long string ...... 
....that can span multiple lines
"""

123voto

Chris H Points 111

J'ai eu ce problème - j'ai finalement compris que la raison était que j'avais inclus \ caractères dans la chaîne. Si vous en avez un, « échappez-le » avec \\ et cela devrait bien fonctionner.

12voto

Nicolas Bouliane Points 820

Dans ma situation, j'avais \r\n dans mes chaînes de dictionnaire à guillemets uniques. J'ai remplacé toutes les instances de \r par \\r et \n par \\n et cela a résolu mon problème, en renvoyant correctement les sauts de ligne échappés dans la dictée évaluée.

ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
  .....

12voto

Ashish kulkarni Points 386

J'ai fait face à un problème similaire. J'avais une chaîne qui contenait un chemin vers un dossier dans Windows par exemple C:\Users\ Le problème est que \ est un caractère d'échappement et donc pour l'utiliser dans des chaînes, vous devez ajouter un autre \.

Incorrect : C:\Users\

Correct : C:\\\Users\\\

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X