Seite 1 von 1

Problem mit __import__

Verfasst: Samstag 6. September 2008, 16:46
von snafu
Hallo!

Ich sitz hier an nem Windows-Rechner und das importieren mit __import__ tut nicht was ich will. Wo liegt mein Fehler? Ich bin nämlich der Meinung daß ich es unter Linux mal so hinbekommen habe.

Code: Alles auswählen

Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on win32

[...]
    
IDLE 1.2.2      
>>> __import__('sys')
<module 'sys' (built-in)>
>>> sys.stdout.write('test\n')

Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    sys.stdout.write('test\n')
NameError: name 'sys' is not defined
Gruß

Sebastian

Verfasst: Samstag 6. September 2008, 17:04
von Leonidas
Du musst den Rückgabewert von __import__ an ``sys`` binden. Das verhält sich ja wie eine normale Funktion und normale Funktionen binden auch nicht zufällige Namen ohne explizite Zuweisung.

P.S.: Auch unter Linux wird das nicht anders sein.

Verfasst: Samstag 6. September 2008, 17:08
von snafu
Jau, alles klar. Soweit hatte ich nicht gedacht. Danke. :)

Schien mir auch etwas unwahrscheinlich, dass es OS-abhängig ist. Muss wohl an meiner Windows-Phobie liegen. ;P