在python中用'\''替换双引号

7 python

我有一个字符串 -

l = '{"a": "1", "b": "2"}'
Run Code Online (Sandbox Code Playgroud)

我想将此字符串转换为 -

'{\"a\": \"1\", \"b\": \"2\"}'
Run Code Online (Sandbox Code Playgroud)

为此,我试图取代"与\"

这是我试过的 -

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

l.replace('\"', '\\"')
'{\\"a\\": \\"1\\", \\"b\\": \\"2\\"}'
Run Code Online (Sandbox Code Playgroud)

我该怎么转换{\"a\": \"1\", \"b\": \"2\"}

McG*_*ady 16

试试这个:

print l.replace('"','\\"')
Run Code Online (Sandbox Code Playgroud)

'\"'并不意味着什么特殊到Python,所以你不需要添加\之前",如果你运行,

print l.replace('\"', '\\"'),你也会得到一个反斜杠.

实际上你所看到的是字符串的表示,它是由repr()方法添加的.Python表示字符串中\\的反斜杠,因为反斜杠是一个转义字符.

如果你打印它,你会得到单反斜杠.

您可以从String和Bytes文字中查看更多信息.

  • 或者 `print(l.replace('"','\\"'))` 如果你没有使用旧的/遗留版本的 Python。 (2认同)