444 Stimmen

Wie kann ich selektiv Prozent (%) in Python-Zeichenfolgen entschlüsseln?

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 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

3voto

pepr Punkte 18988

Wenn die Formatierungsvorlage aus einer Datei gelesen wurde und Sie nicht sicherstellen können, dass der Inhalt das Prozentzeichen verdoppelt, dann müssen Sie wahrscheinlich das Prozentzeichen erkennen und programmatisch entscheiden, ob es der Beginn eines Platzhalters ist oder nicht. Dann sollte der Parser auch Sequenzen erkennen wie %d (und andere Buchstaben, die verwendet werden können), aber auch %(xxx)s usw.

Ein ähnliches Problem kann bei den neuen Formaten beobachtet werden - der Text kann geschweifte Klammern enthalten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X