ich bin mir sicher, dass sich das Problem mit dem richtigen Suchbegriff schnell lösen ließe aber ich komme einfach nicht darauf
Folgendes Problem:
Ich suche eine Möglichkeit die Namen von Funktionen dynamisch aus Variablen zu generieren.
Da ich die benötigten Informationen für jedes "Paket" aus verschienenen Quellen zusammenkratzen muss, habe ich mich dafür entschieden die einzelnen "Pakete" in Module (heißt das so?) auszugliedern. Wenn ich diese direkt anspreche (z.B.: rocketchat.getOPSI_PackageName()) funktioniert das auch. Aber bei später über 100 Modulen würde das in einem Spagetticode enden. Die Schleife war easy aber wie setze ich jetzt die Funktionsaufrufe aus den Variablen zusammen?
Irgend wo habe ich glesen, dass das mit "globals()" gehen soll. Das Endet bei mir aber einem "KeyError: rocketchat.getOPSI_PackageName()":
Code: Alles auswählen
import driver.rocketchat as rocketchat
import driver.powerfolder as powerfolder
…
pakete = {'rocketchat', 'powerfolder', 'openboard', '…'}
for paket in pakete:
# Paketname ermitteln
tmp = globals()[paket + '.getOPSI_PackageName']
tmp()
…
Ich freue mich auf eure Antworten.
MfG
Trial&Error