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提供的答案,這意味着書中的代碼並不按照它應該的方式工作。也許這本書有錯誤? –