2016-06-09 2 views
-4

파이썬에서 소켓 프로그래밍을하고 메시지를 찾는 중입니다. 이 내 코드 .....Python NameError : name 'name'이 정의되지 않았습니다.

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

... 그리고 그것은 * "* __main __"'의 양쪽을 강조합니다. – cdarke

+0

... [Style Guide for Python Code] (https://www.python.org/dev/peps/pep-0008/)에 따라이 함수는'main()'(소문자)라고해야합니다. – Matthias

답변

1

같은 메시지를받을 :

if __name__ == '__main__':

0

글쎄, 그것은해야한다 :

if __name__ == '__main__': 
    Main() 

둘 모두에 대해 두 개의 밑줄이 있습니다.

관련 문제