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 necesita agregar \ antes de " , 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 mediante el método repr (). Python representa las barras invertidas en las cadenas como \\ porque la barra invertida es un carácter de escape .
Si lo imprime, obtendrá una sola barra invertida.
Puede ver más información en los literales String y Bytes .
Puedes probar esto también
print l.replace('"',r'\"')o
print l.replace('"','\\"')