如何在Python中打印奇数个反斜杠

时间:2014-05-29 16:58:10

标签: python escaping

我需要打印一个字符串作为列表的一部分,在Python中有3个反斜杠。但是,这似乎并不像我预期的那么简单。

print ["\\\"]

Traceback (most recent call last):
  File "<string>", line 1, in <fragment> 
EOL while scanning string literal: <string>, line 1, pos 13

任何具有奇数反斜杠的字符串都会执行此操作,因为Python正在转义引号。所以我试着逃避自己:

print ["\\\\\\"]
['\\\\\\']

这是6个反斜杠。不是我想要的。这让我们中的一些人在水冷却器周围难以接受。

2 个答案:

答案 0 :(得分:5)

'\\\\\\'是一个包含3个反斜杠的字符串。通过对其应用list,您可以看到字符串中有3个字符:

In [166]: list('\\\\\\')
Out[166]: ['\\', '\\', '\\']

'\\'*3也有效:

In [167]: list('\\'*3)
Out[167]: ['\\', '\\', '\\']

或者

In [169]: hex(ord('\\'))
Out[169]: '0x5c'

您可以使用\x5c

来避免使用反斜杠
In [170]: print('\x5c\x5c\x5c')
\\\

答案 1 :(得分:2)

print r"\\\ "
我认为

会工作(r表示文字字符串)

(正如评论中指出的那样,你不能以原始字符串中的反斜杠结束......(所以我添加了一个空格))

如果你不想要空间

print r"\\\ ".strip()