TypeError: 'bytes' object is not callable解決辦法

python 遇到這個問題:

源碼如下

# 導入 socket、sys 模塊
import socket
import sys

# 創建 socket 對象
serversocket = socket.socket(
            socket.AF_INET, socket.SOCK_STREAM) 
port = 80
serversocket.bind(('127.0.0.1', port))
# 設置最大連接數,超過後排隊
serversocket.listen(5)

while True:
    # 建立客戶端連接
    clientsocket,addr = serversocket.accept()      

    print("連接地址: %s" %str(addr))
    str = clientsocket.recv(1024)
    print(str1)
    #msg='歡迎訪問菜鳥教程!'+ "\r\n"
    msg = 'HTTP/1.1 200 OK\r\nContent-Type: text/html;charset=ISO-8859-1\r\nContent-Length: 500\r\n\r\n<html>\r\n<head>\r\n<title> hello word it is my first try</title>\r\n</head>\r\n<body>\r\n<h2>\r\n hello word it is my first try</h2>\r\n</body>\r\n</html>\r\n'
    clientsocket.send(msg.encode('utf-8'))
    print("dfsdf")
    clientsocket.close()
    #while True:
    #	pass

報錯如下:

raceback (most recent call last):
  File "E:\Data\Coding\python\socke.py", line 17, in <module>
    print("連接地址: %s" %str(addr))
TypeError: 'bytes' object is not callable


因爲這個函數裏調用了str(addr),而後面定義了字符串str.循環執行第二次的時候會報這個錯,

這時候把str 當bytes,報錯,該對象不可調用(不是函數)

發佈了35 篇原創文章 · 獲贊 36 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章