TypeError: a bytes-like object is required, not 'Binary'

TypeError: a bytes-like object is required, not 'Binary'

我使用 xmlrpc.server 构建服务器并使用 pickle.dumps() 来 pickle 一些数据。然后我使用 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-like对象和'Binary'的区别

我尝试使用 bytes(ret) 来解决这个问题,但它还有另一个

给定一个 Binary 实例 bin,您可以通过 bin.data.

将数据作为 bytesbytearray 实例获取

我只能根据您提供的代码片段进行猜测,但以下内容应该有效:

ret = pickle.loads(ret.data)