Hallo, habe folgendes Problem:
ich importiere dynamisch ein Skript:
exec "import %s" % importSkript
In dem Skript wird eine Variable 'content' mit Inhalt belegt, den ich nun auslesen möchte
myArray['varName'] = importSkript.content
was natürlich nicht geht, weil es das Skript "importSkript" ja gar nicht gibt, sondern nur den Inhalt von importSkript.
Wie kann man dies lösen?
mfg Daniel
Dynamisch eine Variable aus einem import-Skript einlesen
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Module importiert man doch nicht mit exec!
Du kannst dazu doch einfach sowas wie:
Aber gut dass du fragst, jetzt weiß ich noch was in der ModulImporte-Wiki-Seite noch fehlt. Muss ich dann mal beizeiten erweitern.
Du kannst dazu doch einfach sowas wie:
Code: Alles auswählen
scriptname = 'os'
mod = __import__(scriptname)
print mod.content
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Btw: Wenn du exec verwendest um relativ "normale" Sachen zu machen ist das ein sehr sicheres Zeichen dafür, dass es wesentlich eleganter geht.
Die einzige Situation in der ich exec verwenden würde ist die, wenn es wirklich darum geht ein anderes skript zu interpretieren und selbst da gibts meist bessere Wege! (Je nach Situation versteht sich)
Die einzige Situation in der ich exec verwenden würde ist die, wenn es wirklich darum geht ein anderes skript zu interpretieren und selbst da gibts meist bessere Wege! (Je nach Situation versteht sich)