Printanweisung mit variabler Länge erzeugen
Verfasst: Donnerstag 10. April 2014, 23:52
Hallo,
ich möchte eine print-Anweisung erzeugen, die eine variable Anzahl von Argumenten hat.
Ich habe einen Print-String mit "%s"-Symbolen erzeugt, die mit der Anzahl der Elemente in values übereinstimmt.
Diese Print-Anweisung funktioniert:
Diese Printanweisung muss ich aber manuell an die Anzahl der Elemente in values anpassen. Das gefällt mir nicht.
Ich habe daher versucht, die komplette Liste zu übergeben:
Leider funktioniert das nicht, dass Programm bricht an dieser Stelle ab. Leider habe ich noch keine Idee, wie ich das so mit varaibler Länge hinbekommen kann.
Wozu brauche ich das überhaupt - ich möchte in eine MySQL-Datenbank Werte hineinschreiben. Die Anzahl der Spalten ist aber veränderlich. Ich habe versucht, mein Problem so wie in diesem Beispiel zu vereinfachen. Wenn ich es hinbekomme, dass die print-Anweisung funktioniert, dann müsste ich dies auf die cursor.execute-Anweisung übertragen können
Falls mir jemand von Euch helfen könnte, würde ich mich sehr darüber freuen.
ich möchte eine print-Anweisung erzeugen, die eine variable Anzahl von Argumenten hat.
Ich habe einen Print-String mit "%s"-Symbolen erzeugt, die mit der Anzahl der Elemente in values übereinstimmt.
Code: Alles auswählen
#!/usr/bin/env python
#value_list = []
#value_list.append (["1", "2", "3", "4"])
#value_list.append (["5", "6", "7", "8"])
#value_list.append (["9", "10", "11", "12"])
values = ["1", "2", "3", "4"]
print_string = ""
for i in range (0, values.__len__(), 1):
Wert_str = (" Wert %s: " % (i+1) )
print_string = print_string + Wert_str + " %s"
print ("Wert 1: %s Wert 2: %s Wert 3: %s Wert 4: %s" % (values[0], values[1], values[2], values[3]))
print (print_string % (values[0], values[1], values[2], values[3]))
print (print_string % values)
#for value_entry in value_list:
# print (print_string % value_entry)Code: Alles auswählen
print (print_string % (values[0], values[1], values[2], values[3]))Ich habe daher versucht, die komplette Liste zu übergeben:
Code: Alles auswählen
print (print_string % values)Wozu brauche ich das überhaupt - ich möchte in eine MySQL-Datenbank Werte hineinschreiben. Die Anzahl der Spalten ist aber veränderlich. Ich habe versucht, mein Problem so wie in diesem Beispiel zu vereinfachen. Wenn ich es hinbekomme, dass die print-Anweisung funktioniert, dann müsste ich dies auf die cursor.execute-Anweisung übertragen können
Falls mir jemand von Euch helfen könnte, würde ich mich sehr darüber freuen.