javascript - 具有 Python 和 JavaScript 引擎的多操作系统文本数据库

标签 javascript python database json wxpython

这可能有点牵强,但也许有人知道一个好的解决方案。

简介

我目前正在使用新的 wxPython 2.9 用 Python 制作一个应用程序,它具有新的 html2 库,它将继承每个操作系统的 native 浏览器(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(出于分发/依赖性的原因)使用扩展数据库(就像我可以在本地主机上运行 MySQL 服务器)造成更多困惑,所以纯粹将其保留在我的 Python 发行版文件夹中。这也是为了防止编写大量代码(检查)来检查用户是否已经使用了可能与我要安装的应用程序发生冲突的服务器/数据库。

<小时/>

最终注释

我的目标是为 future 的项目自己构建某种 API,以便为需要 GUI 的 Python 脚本制定这种开发标准。现在wxPython可以更轻松地拥抱现代浏览器技术;构建超快速、动态和响应式图形 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/

相关文章:

javascript - css columns/flexbox 元素之间没有间隙

javascript - React.js 插入另一个组件的 ref

python - 安装请求后(使用 JupyterLab),获取 "NameError: name ' 请求未定义”

java - android sqlite 异常 : column 'satze' does not exist

javascript - 如何将 JavaScript 函数表达式保存在内存中?

javascript - MySql 时间戳和 JavaScript 时间

python - 如何解决 'Global name self is not defined'?

python - 将 Python 字符串传递给 Mallet 以进行主题建模

database - 自动更正打开的查询和数据库连接

java - this.getReadableDatabase() 处出现 NullPointerException;