这可能有点牵强,但也许有人知道一个好的解决方案。
简介
我目前正在使用新的 wxPython 2.9 在 Python 中创建应用程序,它具有新的 html2
库,会继承各个操作系统的原生浏览器(Safari/IE/Firefox/Konquerer/~),真的很棒。
目标/宗旨
我目前的目标是处理大量数据并使用 Python 超快速地对其进行分析(目前大约有 110.000 个条目,在字典中产生大约 1.500.000 到 2.250.000 个结果)。这工作得非常快而且也是动态的,所以它只会做第一次大提取一次(只需要大约 2-4 秒),然后如果在磁盘上创建了新数据,它就会继续监听。
到目前为止,一切都很好。现在有了新的 wxPython html2
我正在制作新的 GUI。主要是用来展示页面的,所以我现在做的是一个/html/
中的模型文件夹(使用 HTML/CSS/jQuery),它将动态查找 JSON 文件(jQuery 获取),这实际上是 Python 脚本在并行线程中在后台(守护进程)创建的海量字典的完整转储。
JavaScript 在读取大的 JSON 文件时似乎没有问题,而且因为一切都是(并且保持)本地的,所以它不会真正导致缓慢或任何事情。 CPU和内存使用率也很低。
结论
但瓶颈来了。从 JavaScript 的 Angular 来看,处理大的 JSON 文件并不是一件轻松的事。我必须对需要获取的所有数据进行大量搜索和匹配,并且还会在相同的大块条目中创建大量冗余的重新循环。
问题
我想知道是否有任何一种为 Python 和 JavaScript 实现的“引擎”可以处理 JSON 文件,或者其他基于文本的文件作为数据库。这意味着您可以真正拥有类似 MySQL 的结构(当然不是完全扩展),您至少可以定义一个保存数据的表结构,并且您可以有条不紊地进行读/写/更新。
我目前正在开发的应用程序是基于多操作系统的(至少是 Ubuntu、OS X 和 Windows XP+)。我也真的不想创建比使用 wxPython(出于分发/依赖关系)使用扩展数据库(就像我可以在 localhost 上运行 MySQL 服务器)更困惑的情况,所以纯粹将其保存在我的 Python 发行版文件夹中。这也是为了防止编写大量代码(检查)检查用户是否已经使用了可能与我随后安装的应用程序发生冲突的服务器/数据库。
最后说明
我的目标是自己也为 future 的项目构建某种 API,以便为需要 GUI 的 Python 脚本制定这种开发标准。现在 wxPython 可以更轻松地拥抱现代浏览器技术;构建 super 快速、动态和响应迅速的图形 Python 应用程序似乎不再有任何限制。
最佳答案
为什么不直接将数据粘贴到 SQLite 数据库中,然后让 Python 和 Javascript 都使用它呢?另见 Convert JSON to SQLite in Python - How to map json keys to database columns properly?
Sqlite 包含在所有现代版本的 Python 中。您必须查看 SQLite 网站以了解其限制
关于javascript - 具有 Python 和 JavaScript 引擎的多操作系统基于文本的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092879/