Seite 1 von 1
wie füllt man den Textbuffer mit Variablen
Verfasst: Donnerstag 26. April 2007, 14:31
von htw7448
ich bin gerade auf folgende unschöne Sache gestoßen.
Wenn ich den Textbuffer mit dem Wert einer Variablen füllen will, geht dies leider nicht auf kurzem Wege wie:
Code: Alles auswählen
nr = 10
self.textbuffer.insert_at_cursor("Ergebnis : %s\n") %nr
Muss man stattdessen den String vorher umständlich selsbt generieren?
Code: Alles auswählen
nr = 10
result= "Ergebnis : %s\n") %nr
self.textbuffer.insert_at_cursor(result)
Verfasst: Donnerstag 26. April 2007, 14:40
von BlackJack
Natürlich muss man das nicht vorher machen und das Zwischenergebnis an einen Namen binden. Schau doch nochmal auf was Du im ersten Beispiel den binären Operator ``%`` anwenden willst, insbesondere was links von dem Operator steht.
Wenn ich mal raten müsste hast Du ungefähr so eine Fehlermeldung bekommen:
Code: Alles auswählen
In [39]: None % 10
---------------------------------------------------------------------------
exceptions.TypeError Traceback (most recent call last)
/home/new/<ipython console>
TypeError: unsupported operand type(s) for %: 'NoneType' and 'int'
Verfasst: Donnerstag 26. April 2007, 15:46
von htw7448
Nach ziemlich langem probieren habe ich
Code: Alles auswählen
self.textbuffer.insert_at_cursor("Ergebnis :" +"%d"%nr)
gefunden. Das Problem war das vor dem Operator kein String zu erkennen war. Der Formatierungsoperator arbeitet nur wenn er in der Klammer steht. Denke das waren die Probleme.
Danke
Verfasst: Donnerstag 26. April 2007, 16:33
von encbladexp
htw7448 hat geschrieben:Code: Alles auswählen
self.textbuffer.insert_at_cursor("Ergebnis :" +"%d"%nr)
Noch etwas kürzer wäre:
mfg Betz Stefan