Alle Module importieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lampy
User
Beiträge: 7
Registriert: Samstag 25. Februar 2006, 19:36

Hallo!

Ich habe ein spezielles Problem: Ich würde gerne ALLE Module, die mit dem jeweiligen Python installiert wurden, in einem Skript laden lassen. Sowas wie import * funktioniert aber nicht.

Meine Frage:
Muss ich mir da von Hand alle Module hinter ein import schreiben oder gibt es dafür auch eine elegantere Lösung?

Grüße
Markus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Gegenfrage: warum solltest du das wollen? Es gibt sicherleich eine andere Lösung für dein Problem.

Sowas wie du mit import * vorhast gibt es in Python nicht. Ist auch ganz einfach zu erklären: wenn du import <modul> sagst, fängt Python an, dieses Modul zu suchen. Es siucht alle Ordner in sys.path nach einem Modul oder Package, welches <modul> heißt. Dabei versucht es .py, .pyw, .pyc, .pyo, .pyd und .so Dateien zu importieren. Also gibt es keine 100% exakte Methode alle importierbaren Module zu importieren.

Es gibt allerdings die Möglichkeit, dass du alle Dateien in sys.path (und deren Unterordnern sofern sie eine __init__.py enthalten) nach ebensolchen Modulen durchsuchst. Ist allerdings ziemlcih aufwendig und Fehleranfällig. Deswegen die Frage, warum du die Module alle importieren willst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

Ich würde im Quelltext von `pydoc.py` nach so etwas suchen. Das muss ja etwas in der Richtung machen um die Übersicht zu erstellen.
Antworten