【发布时间】:2018-10-22 15:19:05
【问题描述】:
我尝试对一个 set 对象进行编码,但它失败了,并声明了一个 AttributeError 代码。 有没有办法让它工作?
注意:我一直在使用 socket 模块。
albums = set()
for key, val in data.items():
albums.add(val['album'])
msg = albums.encode()
【问题讨论】:
-
只有在套接字的另一端有另一个程序时,发送到套接字才有意义。那个程序是什么?它期望数据采用什么格式?没有标准格式来发送集合;如果其他程序也是你写的,可以考虑pickling集合。
-
我正在尝试使用 socket 模块创建一个本地主机“服务器”,另一端使用类似的 server_msg.decode() 方法接收消息。
-
这根本不回答前面的评论。它试图告诉您套接字需要一个字节序列,并且没有将集合转换为字节的通用标准序列化;所以编码和解码都没有明确定义。您必须在两端提出自己的序列化格式。
-
val['album']的类型是什么?