Reemplace las comillas dobles con ‘\ “‘ en Python

Tengo una cuerda

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

Quiero convertir esta cadena a –

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

Para esto estoy tratando de reemplazar “con \”

Esto es lo que he intentado:

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

¿Cómo convierto {\"a\": \"1\", \"b\": \"2\"} ?

Prueba esto:

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

'\"' no significa nada especial para Python, por lo que no es necesario agregar \ antes " , si ejecuta

print l.replace('\"', '\\"') , también obtendrá una sola barra invertida.

En realidad, lo que está viendo es la representación de la cadena, se agrega con el método repr (). El python representa barras diagonales inversas en las cadenas como \\ porque la barra diagonal inversa es un carácter de escape .

Si lo imprimes, obtendrás una sola barra invertida.

Puedes ver más información de literales de String y Bytes .

Puedes probar esto también

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

o

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