Seite 1 von 1

__import__ und Zuweisung

Verfasst: Mittwoch 23. Juli 2008, 20:30
von Crazed
Hallo,
Ich habe hier in einem anderen Thread gelesen das es möglich ist mittels

__import__('string_name_des_moduls') möglich ist so ein Modul zu importieren. Das bringt aber natürlich nichts wenn es einfach in nichts importiert. Das heißt ich müsste schreiben:

mechanize = __import__('mechanize').

Jetzt wollte ich fragen ob es einen Weg gibt das es genauso wie das normale import funktioniert. Also einfach __import__('module_name') und ich kann ganz einfach über mechanize. daraufzugreifren anstatt es erst etwas zuzuweisen.

MfG;
CracKPod

Verfasst: Mittwoch 23. Juli 2008, 21:02
von BlackVivi
Ich verstehe den Einsatzzweck nicht so. Entweder du weißt was importiert wird --> weißt was passiert, was es kann usw... Oder du weißt es nicht und es hat irgendwelche obligatorischen Fähigkeiten... Dann ist es aber egal an welchen Namen es gebunden ist. Im Notfall bind es an ein Dict und ...

Code: Alles auswählen

imports[name_des_moduls] = __import__(name_des_moduls)
Nur wie nützlich das alles ist... ist für mich zumindest fragwürdig. Vielleicht für ein Plugin-System oder so...

Oder falls du WIRKLICH das machen willst:

Code: Alles auswählen

In [12]: globals()["urllib"] = __import__("urllib")

In [13]: urllib
Out[13]: <module 'urllib' from 'C:\Python25\lib\urllib.py'>
Aber wie gesagt... Ob das tatsächlich so ratsam ist? Es gibt bestimmt ein Konzepter was einfacher ist.

Verfasst: Mittwoch 23. Juli 2008, 21:14
von Crazed
Du hast es raus BlackVivi. Für ein Plugin-System möchte ich das wissen und du bist die/der erste die/der mir da richtig bei hilft.

Siehe auch: http://www.python-forum.de/topic-15493.html - für mehr Informationen zu meinem Vorhaben, danke.

MfG,
CracKPod