[Python-de] reimport über __import__

Stefan Schwarzer sschwarzer at sschwarzer.net
Don Jul 13 14:06:20 CEST 2006


Hallo Alexander,

On 2006-07-13 12:53, Alexander 'boesi' Bösecke wrote:
> Oh man mit import und reload kann man sich ja so richtig ins Knie
> schiessen. Ich beschreib jetzt einfach mal einfach meine Erfahrungen und
> Experimente. Wenn ich Müll verzapfen sollte, korrigiert mich bitte.
>
>> Ich hab das jetzt folgendermaßen gelöst:
>>         fp, pathname, description = imp.find_module('WebCap')
>>         wc = imp.load_module('WebCap', fp, pathname, description)
>> Laut Doku soll zwar load_module das selbe wie reload tun, aber der obige
>> Code funktioniert im Gegensatz zu reload.
> [...]

zu diversen reload-Problemen habe ich ja schon woanders in diesem
Thread geschrieben.

In einem Projekt haben wir, als wir feststellten, dass wir eine
Reinitialisierung eines Moduls brauchen, eine reload-Funktion
im Modul hinzugefügt. Diese machte gut genug, was wir wollten.

_Warum_ musst du eigentlich das Modul oder gar mehrere neu laden?
Kannst du die Sachen, die das Modul beim Import erledigt und die
du re-initialisieren willst, nicht bei einem bereits geladenen
Modul ausführen (bzw. die Sachen, die für dich nötig sind)?

Wenn du nicht vielem Client-Code Tricksereien aufbürden willst,
könnte es sich lohnen, ein eigenes Modul als Schnittstelle zu
verwenden.

> PS: Ich weiss, dass reload im Deutschen nicht existiert, aber da
> "donwload" ein deutsches Verb ist, hab ich mir mal die Freiheit genommen
> reload einzudeutschen...

Im Deutschen verwende ich Download nur als Hauptwort, statt
"downloaden" sage ich "herunterladen". "Downloaden" und
"reloaden" klingen in meinen Ohren furchtbar. Statt "reloaden"
geht "neu laden" oder "nachladen" (fast) genau so gut; es kann
höchstens sein, dass reload von mehr Leuten verstanden wird, weil
die Python-Funktion so heißt. Normalerweise ist aber aus dem
Betreff oder dem ersten Satz erkennbar, wenn es um reload-
Probleme geht. ;-)

Viele Grüße
Stefan




More information about the python-de mailing list