built_in compile und Funktionen/Klassen/Module
Verfasst: Donnerstag 20. April 2006, 14:12
Hallo,
mit compile kann man Zeichenketten kompilieren und mittels exec/eval ausführen. Meine Frage ist, ob das auch mit Funktionen, Klassen oder Module geht.
Beispiel:
txt = """
def a():
print 1
"""
func = compile(txt, '/tmp/comp.err', 'exec')
Zwar kann ich ein exec(func) oder auch eval(func) ausführen, aber es passiert nichts. ein exec.(func.a()) scheitert.
Wie kann ich Zeichenketten kompilieren ohne sie als Datei speichern und nachträglich importieren zu müssen?
Bin für jeden Tipp dankbar.
Ciao
Matthias
mit compile kann man Zeichenketten kompilieren und mittels exec/eval ausführen. Meine Frage ist, ob das auch mit Funktionen, Klassen oder Module geht.
Beispiel:
txt = """
def a():
print 1
"""
func = compile(txt, '/tmp/comp.err', 'exec')
Zwar kann ich ein exec(func) oder auch eval(func) ausführen, aber es passiert nichts. ein exec.(func.a()) scheitert.
Wie kann ich Zeichenketten kompilieren ohne sie als Datei speichern und nachträglich importieren zu müssen?
Bin für jeden Tipp dankbar.
Ciao
Matthias