web-dev-qa-db-fra.com

Comment imprimer une barre oblique inverse avec Python?

Quand j'écris:

print '\' ou print "\" ou print "'\'"

Python ne m'imprime pas le symbole de barre oblique inverse \.

Que dois-je faire pour obtenir le résultat attendu?

64
Michael

Vous devez échapper à votre barre oblique inversée en la précédant, oui, d'une autre barre oblique inverse:

print "\\"

Le caractère \ est appelé un caractère d'échappement, ce qui interprète le caractère qui le suit différemment. Par exemple, n en lui-même est simplement une lettre, mais lorsque vous la faites précéder d'une barre oblique inverse, il devient \n, qui est le caractère newline.

Comme vous pouvez probablement le deviner, \ doit également être échappé afin que cela ne fonctionne pas comme un caractère d'échappement. Vous devez ... échapper à l'évasion, essentiellement.

74
Bucket

Un autre indice, si vous essayez d'accomplir quelque chose de plus compliqué que de simplement imprimer un backlash, vous pouvez déclarer une chaîne comme étant raw (avec et r devant elle) et tous ses caractères seront imprimés. comme si:

>>> s = r'\abc\def'
>>> print s
'\abc\def'

Ceci est utile pour les expressions régulières. Vous pouvez trouver plus d'informations dans la documentation .

37
Paulo Bu

Une barre oblique inverse doit être évitée avec une autre barre oblique inverse.

print '\\'
7
Andy

Essayez:

>>> s = r'Tea\coffee'
>>> s
'Tea\\coffee'
>>> print(s)
Tea\coffee
>>> print("\\")
\
>>> len("\\")
1
4
Harsha Biyani

vous devriez y échapper ... avec \

print '\\'
3
lelloman
Uses of escape character:
>>> print "\\"
output : \
print 'he\'s Pythonic'
output : he's Pythonic
"\" helps python to understand that in 'he\'s Pythonic' , ['he's] not eol ..
2
Sanyal

Vous pouvez le faire comme ça:

backslash = "\\"
print(backslash)

\

1
Walter