【问题标题】:Read/write class object in binary file? [duplicate]在二进制文件中读/写类对象? [复制]
【发布时间】:2020-08-09 18:22:53
【问题描述】:

在我的 Python 项目中,我使用了一个对象类 Forecast 和一些属性(温度、湿度等)。我想使用 2 个脚本,一个用于将数据写入二进制文件,一个用于读取它。

我都试过了 f = open(file,"wb")

f.write(object)

pickle.dump(object, open(file,"wb"))

但我的问题是用 pickle 编写类对象不会让我用pickle.load 正确阅读它, f.write 不允许我这样做,因为“需要类似字节的对象”。

谁能告诉我是否有其他方法可以做到这一点?

【问题讨论】:

  • 你能分享你用于pickle.load的代码和你得到的错误吗?
  • Saving an Object (Data persistence)(可能是一个副本)。
  • @vestland:是的,在某处我找到了可以帮助我解决我需要的东西。谢谢!

标签: python class pickle binaryfiles read-write


【解决方案1】:
import pickle
with open('file','wb')as f:
         pickle.dump(object,f)
#the above argument is used to create a file using write byte 'wb'
with open('file','rb')as f:
         mp=pickle.load(f)
#the above argument is used to load the previous saved model into object 'mp'

如果有帮助,请告诉我;)

【讨论】:

  • 所以基本上 mp 会将所有日期文件保存在一个变量中?
  • 短路:是的,它就是这样工作的。
  • 好的,所以我想做一个基于 Arduino 的物联网项目,有点像气象站的预报。从传感器接收到的数据将被发送到 CPU,该 CPU 稍后将计算数据以显示其他内容(热指数等),这很容易在不同的时间戳上完成,这些数据被读取、计算,之后我想写将对象 Forecast 存储在 bin 文件中并将其存储在那里以供以后的 ML 使用,因此正确的问题是:“我想在文件中写入一个对象,但是当我读取它时,我将读取该对象的向量“我知道它解释得多么清楚......
  • Tushar Sharma:我试过你的代码,它可以工作,但它只会获取文件中存储的第一个对象,我无法访问第二个对象
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 1970-01-01
  • 2017-10-11
  • 2012-01-26
  • 2018-07-26
  • 2016-06-14
  • 2021-06-03
相关资源
最近更新 更多