Hallo,
ich würde in mein Programm gerne eine Skript-/Plugin-funktion einbauen, sodass man das Programm mit selbstgeschriebenen (Python-, oder sonst irgendwelchen) Skripten erweitern kann.
Ich hatte mir schon überlegt, das mit __import__() zu machen, die Module in Sequenzen zu speichern und dann per hasattr(module[0], funktion1) und getattr(module[0], funktion1) aufzurufen.
Habt ihr da eine bessere Idee, oder sollte ich das so machen?
Danke schonmal,
fred
Skriptsprache/Plugins im Skript
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Was ist das für ein Programm? Ein Python-Programm?
Ich habe das so gelöst, dass ich alle Module in einem Ordner mit __import__ importiert habe und dort jeweils eine PluginKlasse rausgeholt habe, diese dann in eine Liste gespeichert. Simpel.
Nun kannst du zum Beispiel Callbacks defnineren, zum Beispiel on_start und dann versuchen mit try-except in jeder dieser Klasseninstanzen so eine Methode aufzurufen. Und schon ist dein Plugin-System fertig.
Ich habe das so gelöst, dass ich alle Module in einem Ordner mit __import__ importiert habe und dort jeweils eine PluginKlasse rausgeholt habe, diese dann in eine Liste gespeichert. Simpel.
Nun kannst du zum Beispiel Callbacks defnineren, zum Beispiel on_start und dann versuchen mit try-except in jeder dieser Klasseninstanzen so eine Methode aufzurufen. Und schon ist dein Plugin-System fertig.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 155
- Registriert: Freitag 29. Dezember 2006, 18:27
Ich meinte halt Python-Plugins im Python-Programm
Aber, gut, dann mache ich das so
Danke,
fred
Aber, gut, dann mache ich das so
Danke,
fred