__call__ function für module

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
init-0
User
Beiträge: 38
Registriert: Samstag 22. Januar 2011, 18:46

Hallo,

Ich habe ein Programm, das über netzwerk verschiedene plugins aufrufen kann.
Die Plugins sind im Ordner Plugins gespeichert. Wenn ich ein Plugin importieren will rufe ich dazu

Code: Alles auswählen

p = __import__(plugin)
auf.
Ich habe die funktion die aus dem plugin aufgerufen werden soll auch als string gespeichert.
Wie kann ich die funktion sqrt aus math ohne exec aufrufen wenn ich sqrt als string habe.
Mit exec sähe das ja so aus

Code: Alles auswählen

exec  "plugin."+funcname+"(argument)"
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Code: Alles auswählen

In [1]: p = __import__('math')

In [2]: getattr(p, 'sqrt')
Out[2]: <function math.sqrt>

In [3]: _2(42)
Out[3]: 6.48074069840786
Antworten