【问题标题】:Is there a good way to store a boolean array into a file or database in python?有没有一种好方法可以将布尔数组存储到 python 中的文件或数据库中?
【发布时间】:2020-02-29 02:37:30
【问题描述】:
我正在构建一个图像马赛克,用于检测用户选择的区域是否被占用。
我的想法是将 available_spots 存储在一个列表中,我只需要查看列表来检查一个位置是否可用。
问题是当我重新加载网站时,avaliable_spots 也被重置为空白列表,
所以我想把这个数组存储在某个地方,这样读写速度很快。
我目前正在考虑使用一个文本文件来存储它,但由于数组长度超过 140 万,这可能需要很长时间才能读取。还有其他可能更好的解决方案吗?
【问题讨论】:
标签:
python
google-app-engine
【解决方案1】:
由于以下几个原因,您无法将数据存储在文件中:(1) GAE 标准不允许,(2) 重新启动服务器时数据会丢失,以及 (3) 不同的实例会有不同的数据。
当然,您可以并且应该将数据存储在您选择的数据库中。 Firestore 可能是比 SQL 更好、更便宜的选择。它应该对您来说足够快,并且您可以在需要时实现缓存。
您可以将数据存储在单个 Firestore 实体中,如果您接近最大实体大小,请考虑使用压缩。
【解决方案2】:
如果要存储到数据库中,可以使用“sqlite3”模块。
是一个存储在文件中的简单数据库,因此您不必安装数据库程序。非常适合小型项目。
如果你想用数据库做更复杂的事情,你可以使用“sqlalchemy”。