Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.python > #5272
| From | Hartmut Goebel <h.goebel@goebel-consult.de> |
|---|---|
| Newsgroups | de.comp.lang.python |
| Subject | Re: [Python-de] Klassen rekursiv in einem Modul instantiieren |
| Date | 2018-10-10 09:29 +0200 |
| Organization | Goebel Consult |
| Message-ID | <mailman.74.1539157083.2799.python-de@python.org> (permalink) |
| References | <c3736ae4-6baa-4147-9e97-4ef6a6b243ba@googlegroups.com> <70bd0008-303f-01b8-9285-6a6a44e97e78@goebel-consult.de> |
[Multipart message — attachments visible in raw view] - view raw
Am 09.10.2018 um 22:29 schrieb Philipp Kraus:
> Ich möchte jetzt in der __main__.py einmal rekursiv über alle *.py Dateien in algorithm durch gehen und aus jeder *.py Datei die Klasse instantiieren
Am besten wohl mit pkgutil.walk_modules. Falls es nicht rekursiv sein
soll, mit pkgutil.iter_modules.
Ungefähr so (siehe auch doc-string der Funktionen)
print([b
for a,b,c in
pkgutil.iter_modules(
mymodule.algorithm.__path__,
mymoduel.algorithm.__name__+".")])
Dabei bekommst Du natürlich auch mymodule.algorithm.algorithm. Überlege
Dir mal, ob Du den Code dieses module nicht in das Paket (alsi die
__init__.py-Datei) von mymodule.algorithm versheiben kannst. Dann sparst
Du das filtern.
Wenn Dir dieser Tipp geholfen hat, habe ich eine Bitte: Probiere aus, ob
das auch noch funktioniert, wenn Du Dein Programm mit PyInstlaller
packetiert hast. (Hierzu musst Du wohl erstmal alle Sub-Module als
--hidden-import angeben, oder einen zwei-Zeiler "hook" schreiben.)
Schick mir dann bitte eine Nachricht oder mache auf Github einen
Bug-Report auf. Herzlichen Dank!
--
Schönen Gruß
Hartmut Goebel
Dipl.-Informatiker (univ), CISSP, CSSLP, ISO 27001 Lead Implementer
Information Security Management, Security Governance, Secure Software
Development
Goebel Consult, Landshut
http://www.goebel-consult.de
Blog:
https://www.goe-con.de/blog/nicht-pgp-ist-gescheitert-die-entwickler-haben-versagt
Kolumne:
https://www.goe-con.de/hartmut-goebel/cissp-gefluester/2011-08-horrorszenario-bring-your-own-device
Back to de.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 13:29 -0700
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Florian Diesch <diesch@spamfence.net> - 2018-10-09 23:38 +0200
Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 00:08 +0200
Re: Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-09 22:21 -0700
Re: Klassen rekursiv in einem Modul instantiieren Peter Otten <__peter__@web.de> - 2018-10-10 10:32 +0200
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Hartmut Goebel <h.goebel@goebel-consult.de> - 2018-10-10 09:29 +0200
Re: [Python-de] Klassen rekursiv in einem Modul instantiieren Philipp Kraus <philipp.kraus.flashpixx@gmail.com> - 2018-10-10 09:51 -0700
csiph-web