Ich schreibe ein Python-Skript bei der Arbeit, die ein Teil mit einer großen mehrzeiligen Zeichenfolge enthält, die auch Variablen erweitern muss. Ich benutze es, die folgende Art und Weise in Python 2.6 oder Python 3 zu tun:Python: Format Multithread-Zeichenfolgen mit Variablen
message = """
Hello, {foo}
Sincerely, {bar}
"""
print (message.format(foo = "John", bar = "Doe"))
jedoch der Server bei der Arbeit ist eine alte Version von Python (2.3.4) ausgeführt wird, die nicht Zeichenfolge nicht unterstützt. Format. Was ist eine Möglichkeit, dies in alten Python-Versionen zu tun? Können Sie das mit dem% Operator tun? Ich versuchte dies, aber es hat nicht zu funktionieren scheint:
message = """
Hello, %(foo)
Sincerely, %(bar)
""" % {'foo': 'John', 'bar': "Doe"}
Ich konnte einfach tun es ohne mehrzeilige Strings, aber die Nachrichten, die ich zu Format brauchen, sind ganz mit vielen Variablen groß. Gibt es eine einfache Möglichkeit, das in Python 2.3.4 zu tun? (Noch ein Python Anfänger, so leid, wenn dies eine dumme Frage ist.)
Gotcha, dank dir und Matt. Das ist es, was ich vermisste, funktioniert jetzt großartig. – Nate
Wie wäre es mit der Verkettung von Variablen? –
@AllDani: Ich bin mir nicht sicher, was Sie fragen. Wenn Ihre Frage lautet: "Wie formatiere ich eine Zeichenkette, die zwei direkt interpolierte Variablen enthält, dann lautet die Antwort:" Hallo% (foo) s% (bar) s '% {' foo ' : 'x', 'bar': 'y'} ''. (Oder Sie können den neuen Ansatz '' str.format'' verwenden, der für das OP keine Option war, da es sich um eine ältere Version von Python handelt .) –