Seite 1 von 1

Python Code zur Laufzeit einfügen und ausführen

Verfasst: Sonntag 16. März 2014, 09:48
von Peter1977
Hallo,

Kann man einen Python Code zu einem Python Programm zur Laufzeit hinzufügen und ausführen?

Der Plan ist folgender

in der GUI gibt es ein Text Eingabe Fenster wo z.b. Folgender Code eingegeben wird

Code: Alles auswählen

SQL=""
for i in range(1,11,1):
    for k in range(1,6,1):
        if len(str(k))==1:
            k2="0" + str(k)
        else:
            k2=str(k)
        if len(str(i))==1:
            i2="0" + str(i)
        else:
            i2=str(i)
        Wert="M" + str(i2) + "-" + str(k2)
        if len(SQL)==0:
            SQL="INSERT INTO tabele1 (spalte1) VALUES ('" + Wert + "');"
        else:
            SQL=SQL + "INSERT INTO tabele1 (spalte1) VALUES ('" + Wert + "');"

print ("SQL:")
print (SQL)
        
und dann ausgeführt werden kann. Es dient zum einmaligen Großflächigen anlegen von 100 - 200 Plätzen

Peter

Re: Python Code zur Laufzeit einfügen und ausführen

Verfasst: Sonntag 16. März 2014, 10:45
von Sirius3
@Peter1977: es gibt Stringformatierung in Python, da kann man auch die Anzahl Stellen, die eine Zahl haben soll angeben. Strings mit '+' zusammenzusetzen ist ein Anti-Pattern.
Dabei kommt dann ungefähr das heraus:

Code: Alles auswählen

SQL = '\n'.join("INSERT INTO tabele1 (spalte1) VALUES ('M%02d-%02d');" % (i, k)
                for i in range(1,11) for k in range(1,6))
print("SQL:")
print(SQL)
Warum sollte jemand Pythoncode in eine GUI eingeben wollen? Entweder, derjenige kann Python, dann weiß er auch, wie man eine Pythonkonsole bedient oder eben nicht, dann will er etwas komfortableres als kryptischen Text eingeben zu müssen. Was Du suchst ist exec.