类型错误:需要一个类似字节的对象,而不是'二进制'。

5

我使用xmlrpc.server构建服务器,使用pickle.dumps()对一些数据进行封存。然后我使用xmlrpc.client构建客户端,并使用pickle.loads()来解封这些数据。

## server
server = SimpleXMLRPCServer(('0.0.0.0', 5005), allow_none=True)
# in _dispatch method:
result = perform_stuff()
return pickle.dumps(result)

## client
proxy = ServerProxy(f'http://{host}:{port}', allow_none=True)
result = proxy.make_rpc()
return pickle.loads(result.data)

然而,我遇到了以下问题:
我不知道字节类对象和“二进制”之间的区别。
我尝试使用bytes(ret)来解决这个问题,但是又出现了另一个问题。

2
请提供一个最小、完整、可验证的示例 - Maximilian Peters
很抱歉,源代码非常大,无法在此处展示。 - lxg_april
4
这就是为什么你应该尝试隔离问题并粘贴相关的代码。 - user2390182
1个回答

2
给定一个名为 binBinary 实例,你可以通过 bin.data 获取数据作为 bytesbytearray 实例。
从你提供的代码片段中,我只能猜测,但以下代码应该有效:
ret = pickle.loads(ret.data)

我已经尝试过了,我认为它确实有效!非常感谢! - lxg_april

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接