bedingter Modul import macht probleme VOR dem import statmnt

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
ucg

Moin!
Ich bin bei meiner Arbeit mit python 2.2.1 auf folgendes problem gestossen:
wenn ich das folgende Programm aufrufe, kommt es zu einem "UnboundLocalError" bei dem "print xml.version_info" statement. Python glaubt also plötzlich, das xml eine locale variable ist, die aber noch nicht definiert ist.

Code: Alles auswählen

import xml

def importTest():
    print xml.version_info
    if xml.version_info=="":
        import xml.expat

importTest()        
der Gebrauch von xml dient hier nur als Beispiel (ich will hier nicht mit meinen eigenen Paketen rumschmeissen
wenn ich das "import xml.expat" in "import xml.expat as fooBar" umändere läufts.

Kann mir jemand erklären (oder sagen, wo ich's nachlesen kann), warum das passiert?
Wird das import statement etwa schon wärend des Parsens ausgeführt, weshalb dann xml zu einem localen( nicht belegten) symbol wird?

mfg.
Uwe
ucg

Es handelt sich einfach um eine andere form eines bekannten Problems:
http://mail.python.org/pipermail/python ... 13128.html
Antworten