Ich habe den folgenden CodeWie kann ich Prozent (%) in Python-Strings selektiv entkommen lassen?
test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test
print(selectiveEscape)
Ich mag würde die Ausgabe erhalten:
Print percent % in sentence and not have it break.
Was tatsächlich passiert:
selectiveEscape = "Use percent % in sentence and not %s" % test
TypeError: %d format: a number is required, not str
@KarlKnechtel: Aber ich persönlich habe das Problem, wenn die Formatierungsvorlage aus einer Datei gelesen wurde. Wenn Sie keine Kontrolle darüber haben, was sich in der Datei befindet, ist die Frage berechtigt. – pepr
Wenn sich die Formatierungsvorlage in einer Datei befindet, liegt es in der Verantwortung des Erstellers der Datei, das richtige Template zu erhalten, einschließlich der korrekten Maskierung von '%' Symbolen. –
Warum ist es nicht '\ '? Das war meine Vermutung, ich bin überrascht zu finden, dass es "%%" stattdessen ist - scheint ziemlich kontraintuitiv. – Demis