Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!