如何在python中读回字节文件?

时间:2019-06-21 14:04:17

标签: python python-3.x

在Python中,我已将模型另存为joblib文件,并使用读取字节形式的joblib

bytes_data = open('model.joblib','rb').read()

然后我使用以下代码转换为base64并存储在数据库中

import base64
base64_data = base64.b64encode(bytes_data)

稍后,我从数据库中加载base64_data并解码回二进制文件

loaded_binary = base64.b64decode(base64_data)

现在我正在写二进制文件

bytes_load = open(loaded_binary,'wb').write()

我在这里遇到错误

Traceback (most recent call last):

  File "<ipython-input-28-1d2986913b15>", line 1, in <module>
    bytes_load = open(loaded_binary,'wb').write()

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 0: invalid start byte

读写二进制文件不允许使用编码参数,我需要恢复相同的模型。

1 个答案:

答案 0 :(得分:1)

您将已解码的二进制文件内容作为文件名传递给open函数。我猜不是

bytes_load = open(loaded_binary,'wb').write()

您需要:

bytes_load = open('somefilename', 'wb').write(loaded_binary)