Tengo el siguiente código¿Cómo puedo escapar selectivamente el porcentaje (%) en cadenas Python?
test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test
print(selectiveEscape)
me gustaría obtener la salida:
Print percent % in sentence and not have it break.
¿Qué sucede realmente:
selectiveEscape = "Use percent % in sentence and not %s" % test
TypeError: %d format: a number is required, not str
@KarlKnechtel: Pero personalmente he encontrado el problema cuando se leyó la plantilla de formateo de un archivo. Si no tiene control sobre lo que está dentro del archivo, entonces la pregunta es legítima. – pepr
Si la plantilla de formateo está en un archivo, la correcta correlación de la plantilla, incluida la correcta escapada de los símbolos '%', es responsabilidad del creador del archivo. –
¿Por qué no es '\%'? Esa fue mi suposición, me sorprende descubrir que es '%%' en su lugar, parece bastante contrario a la intuición. – Demis