Existe-t-il un moyen de déclarer une variable chaîne dans python) de sorte que tout ce qui se trouve à l'intérieur de celle-ci est automatiquement échappé ou a sa valeur de caractère littéral?
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érique de tout créer dans un littéral de chaîne afin que je n’aie pas à passer manuellement et à tout échapper pour les très grandes chaînes. Quelqu'un sait d'une solution? Merci!
Littéraux de chaîne bruts:
>>> r'abc\dev\t'
'abc\\dev\\t'
Si vous traitez de très grandes chaînes, en particulier des chaînes multilignes, tenez compte de la syntaxe triple-quote:
a = r"""This is a multiline string
with more than one line
in the source code."""
Il n'y a pas une telle chose. On dirait que vous voulez quelque chose comme "ici des documents" dans Perl et les shells, mais Python n'a pas cela.
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 vous devez 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 tout Python littéral de chaîne sans échappement interne quelconque).
Vous trouverez la documentation littérale sur les chaînes 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 consisterait à utiliser le préfixe 'r':
ss = r'Hello\nWorld'
print(ss)
Hello\nWorld
(En supposant que vous ne soyez pas obligé d'entrer la chaîne directement dans Python))
andrew Dalke a souligné, il suffit de taper la chaîne littérale dans un fichier texte, puis l’utiliser;
input_ = '/directory_of_text_file/your_text_file.txt'
input_open = open(input_,'r+')
input_string = input_open.read()
print input_string
Ceci imprimera le texte littéral de tout ce qui se trouve dans le fichier texte, même si c'est le cas.
' ''' """ “ \
Pas amusant ou optimal, mais peut être utile, surtout si vous avez 3 pages de code qui auraient nécessité une échappement de caractères.
si chaîne est une variable, utilisez la méthode .repr:
>>> s = '\tgherkin\n'
>>> s
'\tgherkin\n'
>>> print(s)
gherkin
>>> print(s.__repr__())
'\tgherkin\n'