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.

相关推荐
癫狂的兔子6 小时前
【Python】【Flask】抽奖功能
开发语言·python·flask
linuxxx1106 小时前
python变量引用的小案例
python
轻造科技6 小时前
周期压缩极限挑战:APS排产优化这样实现
运维·devops
鲨莎分不晴6 小时前
Nginx 部署前端项目实战指南
运维·前端·nginx
2501_936146046 小时前
烟草叶片病害检测_YOLO11-C3k2-MSBlock模型详解
python
Data_agent6 小时前
Python 编程实战:函数与模块化编程及内置模块探索
开发语言·python
十铭忘6 小时前
windows系统python开源项目环境配置1
人工智能·python
Generalzy7 小时前
langchain deepagent框架
人工智能·python·langchain
栈与堆7 小时前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
万行7 小时前
机器学习&第二章线性回归
人工智能·python·机器学习·线性回归