我在“client_response”变量处收到此错误“TypeError: str() takes at most 1 argument (2 given)”

新手上路,请多包涵

编辑格式:

这是原始代码

from __future__ import print_function
import socket
import sys

def socket_accept():
    conn, address = s.accept()
    print("Connection has been established | " + "IP " + address[0] + "| Port " + str(address[1]))
    send_commands(conn)
    conn.close()

def send_commands(conn):
    while True:
        cmd = raw_input()
        if cmd == 'quit':
            conn.close()
            s.close()
            sys.exit()
        if len(str.encode(cmd)) > 0:
            conn.send(str.encode(cmd))
            client_response = str(conn.recv(1024), "utf-8")
            print(client_response, end ="")

def main():
    socket_accept()
    main()

我在“client_response”变量处收到此错误“TypeError: str() takes at most 1 argument (2 given)”

原文由 Ahsan Javaid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
1 个回答

你在这里有错误:

 client_response = str(conn.recv(1024), "utf-8")

只需将其更改为:

 client_response = str(conn.recv(1024)).encode("utf-8")

原文由 francisco sollima 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题