J'ai l'erreur mentionnée ci-dessus dans s1="some very long string............"
Quelqu'un sait-il ce que je fais mal?
python
string
string-literals
l --''''''--------- '' '' '' '' '' '
la source
la source
Réponses:
Vous ne mettez pas un
"
avant la fin de la ligne.Utilisez
"""
si vous souhaitez faire ceci:la source
J'ai eu ce problème - j'ai finalement compris que la raison était que j'avais inclus des
\
caractères dans la chaîne. Si vous en avez, «échappez-les» avec\\
et cela devrait fonctionner correctement.la source
r
avant la chaîne pour éviter qu'ils ne causent des problèmes.(En supposant que vous n'avez pas / voulez des sauts de ligne dans votre chaîne ...)
Quelle est la longueur réelle de cette chaîne?
Je soupçonne qu'il y a une limite à la longueur d'une ligne lue à partir d'un fichier ou de la ligne de commande, et parce que la fin de la ligne est coupée, l'analyseur voit quelque chose comme
s1="some very long string..........
(sans fin"
) et lance ainsi une erreur d'analyse?Vous pouvez diviser les longues lignes en plusieurs lignes en échappant les sauts de ligne dans votre source comme ceci:
la source
Dans ma situation, j'avais
\r\n
dans mes chaînes de dictionnaire à guillemets simples. J'ai remplacé toutes les instances de\r
with\\r
et\n
with\\n
et cela a résolu mon problème, renvoyant correctement les sauts de ligne échappés dans le dict évalué.la source
J'ai fait face à un problème similaire. J'avais une chaîne qui contenait le chemin vers un dossier dans Windows, par exemple
C:\Users\
Le problème est qu'il\
s'agit d'un caractère d'échappement et donc, pour l'utiliser dans des chaînes, vous devez en ajouter un de plus\
.Incorrect:
C:\Users\
Correct:
C:\\\Users\\\
la source
J'ai aussi eu ce problème, bien qu'il y ait eu des réponses ici, je veux à un point important à ce sujet après
/
qu'il ne devrait pas y avoir d'espaces vides.la source
J'ai également eu ce message d'erreur exact, pour moi le problème a été résolu en ajoutant un "\"
Il s'avère que ma longue chaîne, divisée en huit lignes environ avec "\" à la toute fin, manquait un "\" sur une ligne.
Python IDLE n'a pas spécifié de numéro de ligne sur lequel cette erreur se trouvait, mais il a mis en évidence en rouge une instruction d'affectation de variable totalement correcte, ce qui m'a déstabilisé. L'instruction de chaîne déformée réelle (plusieurs lignes avec "\") était adjacente à l'instruction en surbrillance. Peut-être que cela aidera quelqu'un d'autre.
la source
Dans mon cas, j'utilise Windows donc je dois utiliser des guillemets doubles au lieu de simples.
la source
J'obtenais cette erreur dans la fonction postgresql. J'avais un long SQL que j'ai divisé en plusieurs lignes avec \ pour une meilleure lisibilité. Cependant, c'était le problème. J'ai tout supprimé et les ai créés en une seule ligne pour résoudre le problème. J'utilisais pgadmin III.
la source
Dans mon cas avec Mac OS X, j'avais la déclaration suivante:
J'obtenais l'erreur:
Après avoir changé pour:
Ça a marché...
David
la source
Vous pouvez essayer ceci:
la source
s = r'long\annoying\path\\'
.Votre
variable(s1)
s'étend sur plusieurs lignes. Pour ce faire (c'est-à-dire que vous voulez que votre chaîne s'étende sur plusieurs lignes), vous devez utiliser des guillemets triples ("" ").la source
Dans ce cas, trois citations simples ou trois citations doubles fonctionneront toutes les deux! Par exemple:
OU
la source
La plupart des réponses précédentes sont correctes et ma réponse est très similaire à aaronasterling, vous pouvez également faire 3 guillemets simples s1 = '' 'une très longue chaîne ............' ''
la source
J'avais rencontré le même problème lors de l'accès à n'importe quel répertoire de disque dur. Ensuite, je l'ai résolu de cette façon.
L'image ci-dessus montre une erreur et une sortie résolue.
la source