0
我一直沿着“黑帽子python”书,当我在这个特定的代码中键入我得到的错误“全球名称server_loop()没有定义” 。这里是之前有错误的main()函数的声明:Python错误:“全局名称server_loop()没有定义”
if listen:
server_loop()
这里是server_loop()函数在main()函数:
def server_loop():
global target
# if no target is defined, we listen on all interfaces
if (not len(target)):
target = "0.0.0.0"
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((target, port))
server.listen(5)
while True:
client_socket, addr = server.accept()
# spin off a thread to handle our new client
client_thread = threading.Thread(target=client_handler, args=(client_socket,))
client_thread.start()
感谢
您的缩进对于server_loop是错误的。低于def的所有东西都应该缩进。另外,你没有定义目标。你的'全球目标'声明只是说要使用全球,但在你显示的代码中没有一个 –
你是对的,但我认为缩进不是这里的问题,只是一个后期问题。 –
@ Jean-FrançoisFabre提供的答案,这意味着书中的代码并不按照它应该的方式工作。也许这本书有错误? –