Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

404
Vistas
SyntaxError: la parte de la expresión f-string no puede incluir una barra invertida

Tengo esta llamada api.

 payload = "{\\"weight\\":{\\"value\\":\\"85.00\\",\\"unit\":\\"kg\\"},\\"height\\":{\\"value\\":\\"170.00\\",\\"unit\\":\\"cm\\"},\\"sex\\":\\"m\\",\\"age\\":\\"24\\",\\"waist\\":\\"34.00\\",\\"hip\\":\\"40.00\\"}"

Quiero usar una cadena af para cambiar esos valores, pero aparece un error de sintaxis que dice que no puedo usar una barra invertida para cadenas f. ¿Que puedo hacer?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Esta es actualmente una limitación de f-strings en python. Las barras diagonales inversas no están permitidas en absoluto (ver https://mail.python.org/pipermail/python-dev/2016-August/145979.html )

Opción 1

La mejor manera sería usar str.format() para lograr esto, según https://docs.python.org/3/library/stdtypes.html#str.format

opcion 2

Si está muy interesado en usar barras invertidas, podría hacer algo como esto:

 backslash_char = "\\" my_string = f"{backslash_char}foo{bar}"

Pero probablemente esa no sea la mejor manera de hacer que su código sea legible para otras personas.

Opción 3

Si está absolutamente seguro de que nunca usará un carácter en particular, también puede poner ese carácter como marcador de posición, algo como

 my_string = f"🍔foo{bar}".replace("🍔", "\\")

Pero eso también es una solución súper alternativa. Y es una excelente manera de introducir errores en el camino, si alguna vez recibe una entrada con ese carácter.

Opción 4

Como se menciona en los comentarios de esta respuesta, otra opción sería hacer chr(92) dentro de algunos curlies, como se muestra a continuación:

 my_string = f"This is a backslash: {chr(92)}"
over 4 years ago · Santiago Trujillo Denunciar

0

class data(object): _weight = 85.00 _height = 170.00 _sex = 'm' _age = '24' _waist = 34.0 _hip = 40.0 payload = f'\ {{\ "weight": {{\ "value": "{data._weight}",\ "unit": "kg"\ }},\ "height": {{\ "value": "{data._height}",\ "unit": "cm"\ }},\ "sex": "{data._sex}",\ "age": "{data._age}",\ "waist": "{data._waist}",\ "hip": "{data._hip}"\ }}' print(payload)

Resultado:

 C:\>python.exe prueba.py
{ "peso": { "valor": "85,00", "unidad": "kg" }, "altura": { "valor": "170,00", "unidad": "cm" }, "sexo": " m", "edad": "24", "cintura": "34,0", "cadera": "40,0" }

Resultado a través de 'jq' : (consulte aquí para obtener información sobre 'jq')

 C:\>python.exe prueba.py | jq
{
  "peso": {
    "valor": "85,00",
    "unidad": "kg"
  },
  "altura": {
    "valor": "170,00",
    "unidad": "cm"
  },
  "sexo": "m",
  "edad": "24",
  "cintura": "34.0",
  "cadera": "40.0"
}
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda