Problem mit __import__

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
Benutzeravatar
snafu
User
Beiträge: 5487
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Samstag 6. September 2008, 16:46

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
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Samstag 6. September 2008, 17:04

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.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
snafu
User
Beiträge: 5487
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Samstag 6. September 2008, 17:08

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
Antworten