python - 在带有 queue.Queue() 字段的数据类上使用 asdict() 会引发 TypeError
问题描述
当使用队列作为字段之一的数据类制作字典时,python 会抛出 TypeError:
TypeError: cannot pickle '_thread.lock' object
要重现错误,可以使用以下代码:
from dataclasses import dataclass, asdict
import queue
@dataclass
class test:
name:str = 'SomeString'
data:int = 12345
Que:queue.Queue = queue.Queue()
dataClass_obj = test()
dict_obj = asdict(dataClass_obj)
请注意,将队列添加到字典通常不会产生任何错误。
我需要知道如何在数据类中包含 queue.Queue() 对象,这样在数据类上使用 asdict 方法就不会产生 TypeError。
由于程序在任何地方都使用数据类来发送参数,因此我也在此处保留数据类,而不是完全使用字典。
解决方案
推荐阅读
- flutter - 文本表单字段中的内联平面按钮
- jquery - 如何将 JQuery 中的数据显示到 html 中
标签
- python - 使用 python 正则表达式仅获取 9 位数字
- adyen - 为什么 Adyen 返回“无效的购物者互动”
- docker - 如何禁止 docker cp 命令
- c - 由于使用 SSE 指令的未对齐内存访问导致的一般保护异常
- vim - 跳转到键映射定义末尾的 2 个位置
- linux - 无论 Linux 发行版配置如何,如何在应用程序代码中稳健地禁用核心转储
- java - 春天:setAutoGrowCollectionLimit 不起作用
- android - 如何在styles.xml中设置按钮layout_constraintWidth_percent?