TypeError: recv_thread() argument after * must be an iterable, not socket

错误

TypeError: recv_thread() argument after * must be an iterable, not socket的问题。

原因

这个错误是由于在创建一个线程时,将socket对象作为args参数传递给了recv_thread函数,而args参数需要一个可迭代的对象,比如元组或列表。

解决办法

可以通过在socket对象后面加一个逗号,将其转换为一个元组,来解决这个问题。代码是这样的:

复制代码
def recv_thread(sock):
    while True:
        data = sock.recv(1024).decode()

thread = threading.Thread(target=recv_thread, args=(s))

可以改为:

复制代码
def recv_thread(sock):
    while True:
        data = sock.recv(1024).decode()
        
thread = threading.Thread(target=recv_thread, args=(s,))

这样就可以避免TypeError: recv_thread() argument after * must be an iterable, not socket的错误了。

(1) Python Threading module Error argument after * must be an iterable, not int. multithreading - Python Threading module Error argument after * must be an iterable, not int - Stack Overflow.

(2) TypeError: send() argument after * must be an iterable, not socket in .... [Solved]TypeError: send() argument after * must be an iterable, not socket in Python.

(3) Python threading error - must be an iterable, not int. multithreading - Python threading error - must be an iterable, not int - Stack Overflow.

(4) python - TypeError: add() argument after * must be an iterable, not .... python - TypeError: add() argument after * must be an iterable, not Settings - Stack Overflow.

相关推荐
richxu2025100117 分钟前
Linux本地部署deepseek大模型之 6. Windows本地连接远程云服务器中的MySQL常见错误的解决办法
linux·服务器·windows
程序员三藏17 分钟前
接口自动化测试框架搭建详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
Ryan ZX20 分钟前
Ubuntu 升级OpenSSH10.2p1与OpenSSL3.5.4版本避坑实践
linux·运维·服务器·ubuntu
skywalk816328 分钟前
老显卡老cpu用vllm推理大模型失败Intel(R) Xeon(R) CPU E5-2643 v2
人工智能·pytorch·python·vllm
qq_5470261791 小时前
微服务 - 网关统一鉴权
运维·网络·微服务
梁正雄1 小时前
18、docker-macvlan-2-示例
运维·docker·容器·macvlan
梁正雄1 小时前
17、docker-macvlan-1-理论
运维·docker·macvlan·docker macvlan
程序员爱钓鱼1 小时前
Python编程实战:文件读写(文本/二进制)详解与实战
后端·python·ipython
百锦再1 小时前
第6章 结构体与方法
android·java·c++·python·rust·go
TheInk1 小时前
python学习笔记之Python基础教程(crossin全60课)
笔记·python·学习