Wie kann ich Prozent (%) in Python-Strings selektiv zurückhalten?

Ich habe den folgenden code

test = "have it break."
selectiveEscape = "Print percent % in sentence and not %s" % test

print(selectiveEscape)

Ich würde gerne die Ausgabe:

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
Kommentar zu dem Problem
Warum ist es nicht \%? Das war meine Vermutung, ich bin überrascht, es ist %% statt - scheint ziemlich offensichtlich. Kommentarautor: Demis
die % i bedeutet "eine dezimale Darstellung einer ganzen Zahl, gepolstert Links mit Leerzeichen. Kommentarautor: Antti Haapala
Das escape ist um die Funktion, nicht auf die Sprache, syntax. Daher, wenn die Flucht war \% wäre es tatsächlich \\% geschrieben in ordentlichen code. <Flucht - ><Flucht - > ist das typische Muster, die ich gesehen habe, und \, die passiert werden die gängigsten escape-Zeichen, für besser oder schlechter. Kommentarautor: shemnon
@Demis und wie Sie entkommen \ , wenn Sie drucken \\%? Sie sind verpflichtet zu verlangen, die Flucht durch die Wiederholung von speziellen Zeichen, falls die Sonderzeichen sind auch nicht special, abhängig von den Umständen. Kommentarautor: Sassa NF
Ich denke, dass es ärgerlich ist, in Python, die das literal % codiert ist, durch "%%" und nicht von "\%". Kommentarautor: Ralf

InformationsquelleAutor der Frage jondykeman | 2012-05-21

Schreibe einen Kommentar