__import__ und Zuweisung

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
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

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
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

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.
Crazed
User
Beiträge: 171
Registriert: Sonntag 18. Mai 2008, 11:44

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
Antworten