2016-06-09 155 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)下划线。