如何在python中读回字节文件?
在Python中,我将模型保存为joblib文件,并使用如何在python中读回字节文件?,python,python-3.x,Python,Python 3.x,在Python中,我将模型保存为joblib文件,并使用 bytes_data = open('model.joblib','rb').read() 然后我使用下面的代码转换为base64并存储在数据库中 import base64 base64_data = base64.b64encode(bytes_data) 稍后,我从数据库加载base64_数据并解码回二进制 loaded_binary = base64.b64decode(base64_data) 现在我正在写回二进制文件 b
bytes_data = open('model.joblib','rb').read()
然后我使用下面的代码转换为base64并存储在数据库中
import base64
base64_data = base64.b64encode(bytes_data)
稍后,我从数据库加载base64_数据并解码回二进制
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
读取和写入二进制文件不允许使用编码参数,我需要返回相同的模型。将解码后的二进制文件内容作为文件名传递给open函数。我想不是
bytes_load = open(loaded_binary,'wb').write()
你需要:
bytes_load = open('somefilename', 'wb').write(loaded_binary)
打开…,'wb'。写入…?我已经尝试过了,但得到的错误是UnicodeDecodeError:'utf-8'编解码器无法解码位置0中的字节0x80:invalid start Byt写入文件时是否确实设置了b模式?显示您的代码和完整的错误消息,包括堆栈跟踪。我编辑了带有错误的问题,ThanksThanks@Konstantin,糟糕的我,没有意识到,成功了