PROJET AUTOBLOG


Sam et Max

source: Sam et Max

⇐ retour index

Créer une raw string avec un antislash à la fin

mercredi 21 août 2013 à 11:40

Si vous vous souvenez, on ne peut pas mettre un antislash à la fin d’une raw string :

>>> print(r'Moi pouvoir\\')
Moi pouvoir\\
>>> r'Moi pouvoir\\'
'Moi pouvoir\\\\'
>>> r'Moi pouvoir\'
  File "<stdin>", line 1
    r'Moi pouvoir\'
                  ^
SyntaxError: EOL while scanning string literal

La plupart du temps on s’en branle.

Mais supposons que vous vouliez créer un path pour disons, pauvre de vous, une commande DOS…

>>> print("\chemin\vers\dossier\dos\\")
\chemin
        ers\dossier\dos\
>>> print(r"\chemin\vers\dossier\dos\\")
\chemin\vers\dossier\dos\\

Ah, ah, te voilà bien baisé, cher programmeur !

Sauf que non, car une raw string n’est pas un type de string particulier, comme on l’a vu ici, donc on peut faire ça :

>>> print(r"\chemin\vers\dossier\dos" + "\\")
\chemin\vers\dossier\dos\

Zooooo !

Et même si on se sent chaud, on peut utiliser la concaténation implicite pour se la jouer mega chaud du slip :

>>> print(r"\chemin\vers\dossier\dos" "\\")
\chemin\vers\dossier\dos\

Qu’il en faut peu pour qu’un dev se sente le roi du monde…

flattr this!