如何解决在带有 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。
由于程序在任何地方都使用数据类来发送参数,因此我在这里也保留了数据类,而不是完全使用字典。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。