Ich habe eine GUI, die es dem Benutzer ermöglicht, jede Funktion aus einer bestimmten * .py-Datei auszuführen. Ich möchte, dass einige der Funktionen auf andere Weise ausgeführt werden. Um das zu tun, habe ich versucht, Attribute an die Funktion anzuhängen (Einfache Dinge wie die benötigten Eingaben). Ich fand jedoch, dass die einzige Möglichkeit, diese Attribute zu erhalten, war, den Code zuerst auszuführen.Erhalten Sie ein Python-Funktionsattribut, ohne die Funktion auszuführen
Gibt es eine Möglichkeit, diese Attribute zu erhalten, ohne den Code auszuführen, oder vielleicht einen eher pythischen Weg, um sich dieser Aufgabe im Allgemeinen zu nähern?
Sehr rudimentäres Beispiel meines Code:
FileA.py
def Beta(x):
Beta.input_stype = "Float"
y = x + 0.5
return y
def Gamma(x):
Gamma.input_stype = "String"
y = x + "_blah_blah_blah"
return y
def Delta(x):
Delta.input_stype = "String"
y = x.index('WhereIsIt')
return y
FileB.py
import FileA
import inspect
z = inspect.getmembers(Fiddle2, inspect.isfunction)
#### User selects the code value here ####
x = user_selection
executable = z[x][1] # Pulls the executable code
if executable.input_stype == "Float" :
y = executable(45)
elif executable.input_stype == "String" :
y = executable('Testing_the_WhereIsIt_stuff')
Mögliche Duplikat [Typüberprüfung der Argumente Python] (http://stackoverflow.com/questions/734368/type-checking-of-arguments-python) – Natecat