我需要打印一个字符串作为列表的一部分,在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个反斜杠。不是我想要的。这让我们中的一些人在水冷却器周围难以接受。
答案 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()