2016-06-09 13 views
-4

Ich mache Socket-Programmierung in Python und eine Nachricht zu finden. Dies ist mein Code .....Python NameError: Name 'Name' ist nicht definiert

import socket 

    def Main(): 
      host = '127.0.0.1' 
      port = 5000 
      s = socket.socket() 
      s.bind((host,port)) 
      s.listen(2) 
      c, addr = s.accept() 
      print "Connecton from : " + str(addr) 
      while True: 
         data = c.recv(1024) 
         if not data: 
           break 
         print "from connected User:" + str(data) 
         data = str(data).upper() 
         print "sending: " + str(data) 
          c.send() 
      c.close 

    if _name_ == '_main_': 
     Main() 

und ich empfangen eine Nachricht wie

'File "tcpserver.py", line 21, in if name == 'main': NameError: name 'name' is not defined'

+2

Verwenden Sie stattdessen "__name__". – Keatinge

+1

... und es ist * zwei * unterstreichen jede Seite von ''__main __''. – cdarke

+0

... und gemäß dem [Style Guide for Python Code] (https://www.python.org/dev/peps/pep-0008/) sollte die Funktion 'main()' (Kleinbuchstaben) heißen. – Matthias

Antwort

1

Es sollte:

if __name__ == '__main__':

0

Nun, es sein sollte:

if __name__ == '__main__': 
    Main() 

Mit zwei (2) Unterstriche für beide.