2016-03-28 12 views
0

Ich habe import select vor dem Aufruf der Funktion, die ausgewählt hat.@Python - NameError: globaler Name 'auswählen' ist nicht definiert

habe ich wählen Sie wie folgt:

rl, wl, xl = select.select([stdout.channel], [], [], 0.0) 

Hier stdout.channel etwas, das ich von einer SSH-Verbindung durch paramiko lese.

Stack Trace:

File "C:\Code\Test.py", line 84, in Test 

rl, wl, xl = select.select([stdout.channel], [], [], 0.0) 
NameError: global name 'select' is not defined 
+0

Sie haben 'import select' * vor dem * Programmstart verwendet? Sollte es nicht * im * Programm sein? – zondo

+0

@zondo meinte ich bevor ich die Funktion anrief. Bearbeiten Sie jetzt die Frage. – Hari

+0

scheint es gut zu mir, versuchen Sie, Ihren Computer neu zu starten sehen es funktioniert oder nicht – haifzhan

Antwort

0

Beobachtungen:

  1. Wenn die Python-Skript Linie vom Befehl ausgeführt wird - funktioniert gut. Solche Fehler werden nicht gemeldet.

  2. Wenn das gleiche Skript mit ECLIPSE ausgeführt wird, sehe ich einen Fehler wie oben angegeben.

Lösung:

Ich importierte wählen, indem Sie:

import select as something 

Nun, wenn ich es in meinem Skript verwenden, wird der Fehler weg.

rl, wl, xl = something.select([stdout.channel], [], [], 0.0) 
+0

Wenn Sie 'import select as something' auswählen, ist der Name' some' im Bereich gebunden, aber der Name 'select' ist nicht - das ist das Problem. – babbageclunk

Verwandte Themen