如何在Python中将反向连接到字符串

时间:2018-02-15 16:26:43

标签: python-3.x

我有一个字符串“foo”,我需要将“\”连接到字符串的前面。

如果我这样做:

s = "foo"
s = "\" + s
# Gets EOL while scanning string literal error

现在,如果我这样做:

    s = "\\" + s

打印然后输出:

"\foo"

但是...

s = s.encode('utf-8')
print(s)

输出:

b'\\foo'

当获得utf-8编码时,我需要一个斜杠。

1 个答案:

答案 0 :(得分:1)

打印bytes对象时(由encode返回),print会打印出对象的表示,其中反斜杠加倍。< / p>

但如果再次解码对象,则只能获得一个斜杠:

s = r"\foo".encode('utf-8')
print(s.decode('utf-8'))

结果:

\foo

还要注意(在bytes对象上):

>>> print(chr(s[0]))
\
>>> print(chr(s[1]))
f

字节对象中只有一个斜杠

(除了:你不能使用"\"甚至r"\",因为字符串解析将无法看到字符串的结尾,请参阅我的旧答案之一python raw string notation throwing error with trailing slash