Python函数预计缩进块,如何?

时间:2016-04-26 13:35:02

标签: python function

import socket, thread, time

def main():
    #server()
    #client()

def client():
    HOST = ''
    PORT = 
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    s.sendall('Hello, world')
    data = s.recv(1024)
    s.close()
    print 'Received', repr(data)

def server():
    HOST = ''
    PORT = 
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind((HOST, PORT))
    s.listen(1)
    conn, addr = s.accept()
    print 'Connected by', addr
    while 1:
        data = conn.recv(1024)
        if not data: break
        conn.sendall(data)
    conn.close()
  

如果名称 ==“主要”:main()文件“try.py”,第7行       def client():         ^ IndentationError:预期缩进块

有什么问题?请回答是否可能。

2 个答案:

答案 0 :(得分:13)

您的main函数没有正文。这是不允许的。如果您不想做任何事情,请使用pass声明。

答案 1 :(得分:1)

如上所述,您确实错过了def main

作为最佳实践,您应该使用此格式确保在执行main时处于主进程中。

你应该习惯用以下格式写主要文件:

def main():
    # my code here

if __name__ == "__main__":
    main()

这会阻止在将脚本作为模块导入时执行main。