在Python中用“ \”替换双引号


问题内容

我有一串-

l = '{"a": "1", "b": "2"}'

我想将此字符串转换为-

'{\"a\": \"1\", \"b\": \"2\"}'

为此,我试图用“ \”代替“

这是我尝试过的-

l.replace('\"', '\"')
'{"a": "1", "b": "2"}'

l.replace('\"', '\\"')
'{\\"a\\": \\"1\\", \\"b\\": \\"2\\"}'

如何转换{\"a\": \"1\", \"b\": \"2\"}


问题答案:

尝试这个:

print l.replace('"','\\"')

'\"'对Python而言并不意味着什么特别的东西,因此如果您运行,则无需\在之前添加"

print l.replace('\"', '\\"'),您也会得到一个反斜线。

实际上,您所看到的是字符串的表示形式,它是通过 repr
()方法
添加的
.Python

在字符串中表示反斜杠,\\因为反斜杠是转义字符

如果您打印它,您将得到单个反斜杠。

您可以从String和Bytes文字中看到更多信息。