Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中读回字节文件?_Python_Python 3.x - Fatal编程技术网

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

如何在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

在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)
现在我正在写回二进制文件

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,糟糕的我,没有意识到,成功了