Créer une raw string avec un antislash à la fin
mercredi 21 août 2013 à 11:40Si 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…