首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据的持久存储?

数据的持久存储?
EN

Stack Overflow用户
提问于 2019-04-22 16:22:21
回答 1查看 27关注 0票数 0

我的用例需要在数据可用时立即将数据存储在磁盘上。我用的是覆盆子派和一些激光。一旦激光器被激活/停用,就会记录时间戳,并将其存储在磁盘上。只有在激光“武装”的情况下,数据才会被存储。它们也可以处于“空闲”状态(它们仍在工作,但时间戳被忽略)。此外,激光可以多次武装/解除武装。

做这件事最有效的方法是什么?使用平面csv/xml/txt还是其他什么?RPI中使用的实际SD卡限制为8 8GB。

另一个问题是,当使用open()方法时,我应该在执行write()方法后close()文件,还是应该在脚本本身运行时保持打开(脚本一直在运行,直到用户决定退出)?

EN

回答 1

Stack Overflow用户

发布于 2019-04-22 16:38:50

听起来像蟒蛇吗?

如果是这样,您可以使用with写入您的文件

with open('/path', 'w') as f: f.write('stuff')

当执行退出该块时,文件描述符将自动关闭。

然而,关于你的其他问题,这取决于你的用例。为什么它需要立即可用?另一个进程会读取它吗?这将会以多快的速度发生?是否还有其他一些数据需要与时间戳一起保存--大概是激光当时是开着还是关着的?

对于您来说,一个好的解决方案可能是像SQLite这样的轻量级数据库。磁盘上的存储空间大致相当于“平面”文件中的存储空间,例如您引用的.txt或.csv。它会很快的。而且它消除了对实际写作管理的担忧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55791341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档