将列表写入二进制文件时的问题
我正在尝试将list
写入二进制文件并稍后再次加载它。我有这个代码:将列表写入二进制文件时的问题
with open('W.bin', mode='wb') as file: file.write(bytearray(model.estimator.intercepts_))
file.close()
其中model.estimator.intercepts_
是一个列表。然而,我得到这个错误:
File "LM.py", line 200, in model_training file.write(bytearray(model.estimator.intercepts_))
TypeError: an integer or string of size 1 is required
我不知道我的代码有什么问题吗?谢谢
回答:
这里有两件事出错了。
首先,您的列表必须仅包含字符(大小为1的字符串)或范围在0到256之间的整数以使用bytearray
。列表中的某些元素不能满足要求,并且您得到TypeError
。
其次,你只能写一个字符串到一个文件。如果你需要写任何东西,你应该使用pickle
import pickle with open('W.bin', mode='w') as file:
pickle.dump(your_array), file)
,然后读做
with open('W.bin', mode='r') as file: your_array = pickle.load(file)
以上是 将列表写入二进制文件时的问题 的全部内容, 来源链接: utcz.com/qa/259278.html