Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

364
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda