ich auf eine Funktion zu arbeiten, wo bereits eine Anwendung erstellt wird, aber ich kann nicht bearbeitenPython Call-Methode von einem externen Funktion der Klasse
class mainProject():
def __init__(self, screen):
module1 = importlib.import_module(extension)
module1.openBox()
def boxIsOpen(self):
.......
Ich versuche boxIsOpen() in meine benutzerdefinierte Funktion OPENBOX auszuführen () im Erweiterungsmodul.
Es ist möglich, das zu tun? Ich versuche, die Klasse in die Funktion reinitialisiert, aber es ist nicht die vorherige Funktion. Das Schlüsselwort "caller" funktioniert nicht wirklich.
Dank
Gibt es einen Grund, dass Sie versuchen, 'module1' indisde' mainProject .__ init __() 'zu importieren? Wenn Sie es dort importieren, ist es für die Funktion 'boxIsOpen' nicht zugänglich. Sie sollten es wahrscheinlich auf Dateiebene importieren. – danielunderwood
@ danielu13, danke für deine Antwort, es ist nur ein kleines Beispiel. Ich werde nicht die volle .py senden. Ich drehe und bearbeite nur einen Teil, um das Wesentliche zu behalten. Wie zum Beispiel die ImportLib und meine externe Funktion. –
Wenn Sie sagen, die Anwendung ist bereits erstellt ... Ich habe das Gefühl, Sie tun etwas sehr, sehr schlecht. Können Sie bestätigen, dass Sie versuchen, zur Laufzeit Add-Funktionen für eine Python-Klasse zu bearbeiten? Dies sollte (fast) nie für die meisten Leute notwendig sein ... – Lunaweaver