Existe-t-il un moyen de déclarer une variable de chaîne en python de sorte que tout ce qui s'y trouve est automatiquement échappé ou a sa valeur de caractère littérale?
Je ne demande pas comment échapper aux guillemets avec des barres obliques, c'est évident. Ce que je demande, c'est un moyen général de rendre tout ce qui est littéral dans une chaîne afin de ne pas avoir à passer manuellement et à tout échapper pour les très grandes chaînes. Quelqu'un connaît-il une solution? Merci!
a
contiendra une chaîne avec deux caractères de saut de ligne?"
rien de bon, parce que tout se terminera par""""
une erreur de syntaxe.Il n'y a pas une telle chose. Il semble que vous vouliez quelque chose comme "ici les documents" en Perl et les shells, mais Python ne l'a pas.
L'utilisation de chaînes brutes ou de chaînes multilignes signifie seulement qu'il y a moins de choses à craindre. Si vous utilisez une chaîne brute, vous devez toujours contourner un terminal "\" et avec toute solution de chaîne, vous devrez vous soucier de la fermeture de ", ',' '' ou" "" si elle est incluse dans vos données .
Autrement dit, il n'y a aucun moyen d'avoir la chaîne
correctement stocké dans n'importe quelle chaîne littérale Python sans échappement interne d'aucune sorte.
la source
Vous trouverez la documentation littérale de chaîne de Python ici:
http://docs.python.org/tutorial/introduction.html#strings
et ici:
http://docs.python.org/reference/lexical_analysis.html#literals
L'exemple le plus simple serait d'utiliser le préfixe «r»:
la source
(En supposant que vous n'êtes pas obligé de saisir la chaîne directement dans le code Python)
pour contourner le problème signalé par Andrew Dalke, tapez simplement la chaîne littérale dans un fichier texte, puis utilisez ceci;
Cela imprimera le texte littéral de tout ce qui se trouve dans le fichier texte, même si c'est le cas;
Ce n'est ni amusant ni optimal, mais cela peut être utile, surtout si vous avez 3 pages de code qui auraient nécessité l'échappement de caractères.
la source
si string est une variable, utilisez le. méthode repr dessus:
la source
repr(s)
place pour un meilleur style