Seite 1 von 1

Alle Module importieren

Verfasst: Samstag 22. April 2006, 15:14
von Lampy
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

Verfasst: Samstag 22. April 2006, 15:59
von Leonidas
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.

Verfasst: Sonntag 23. April 2006, 07:00
von 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.