2016-06-09 156 views
-4

我正在做python中的套接字編程和查找消息。這是我的代碼.....Python名稱錯誤:名稱'名稱'未定義

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() 

,我收到類似

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

+2

改用'__name__'。 – Keatinge

+1

...並且它的* 2 *強調'__main __''的每一側。 – cdarke

+0

...並根據[Python代碼樣式指南](https://www.python.org/dev/peps/pep-0008/)函數應該被稱爲'main()'(小寫)。 – Matthias

回答

1

的消息應該是:

if __name__ == '__main__':

0

那麼,它應該是:

if __name__ == '__main__': 
    Main() 

With兩個(2)下劃線。