Python 在源代码下存储数据,隐藏在注释中

Python 在源代码下存储数据,隐藏在注释中,python,database,shell,comments,cluster-computing,Python,Database,Shell,Comments,Cluster Computing,我使用数据库已经有一段时间了,我发现我的最佳选择是在shell脚本本身中存储由shell脚本收集的数据。有时是单行日志,用于跟踪quick项目中的数据,但有时是写入其中的JSON对象(我发现加载速度比未打开的.JSON文件快) 下面是一个Python的示例 # ==================================================== # Don't write below this line, live database below. # ==========

我使用数据库已经有一段时间了,我发现我的最佳选择是在shell脚本本身中存储由shell脚本收集的数据。有时是单行日志,用于跟踪quick项目中的数据,但有时是写入其中的JSON对象(我发现加载速度比未打开的.JSON文件快)

下面是一个Python的示例

# ====================================================
#   Don't write below this line, live database below.
# ====================================================
# "scores":{"Adam":2,"John":6,"Steve":1,"Tim":35}
# "teams":{"shockwave":{"wins":5,"losses":2},"jellyfish":{"wins":3,"losses":4}}
使用这种方法,我发现只保留一个文件的好处是:安全性、性能、易用性、易于运输和备份、数据库冲突的可能性最小,以及总体的简单性。我还知道,这是sqllite用来保持开发人员易于实现的体系结构

然而,我确实关心编写好的代码,并且想知道这种方法的任何缺点

  • 当数据库变大时,即使在处理其他数据时没有查看,注释中的大量数据是否会降低程序的重量

  • 在文件变得不稳定之前,文件的大小是否有限制

  • 为什么不经常使用这种方法

  • 有没有可以让我更好地实现这一点的资源

  • 有什么我没想到的吗


在你回答之前,我知道只有一个10TB的文件需要一个进程来处理是不切实际的。我喜欢制作集群和神经元,它们可以一起工作,也可以单独工作,并且通常将这种方法用于较小的实现。所以在回答问题时请记住这一点,因为我知道有更好的大规模解决方案可供行业使用。

请记住,并非所有文件系统都支持大型文件。代码编辑器可能并不总是喜欢太大的文件。如果您的程序恰好在写入数据的中间终止,您可能会得到需要修复的数据库,大多数其他数据库已经这样做了。它可能加载得更快,但这可能是一个有限的用例。在写入源文件时,还需要小心。操作系统可能允许多个进程对文件进行写访问。我同意,并且已经从有限的代码编辑器中吸取了教训。通常情况下,我的源代码是多个文件,因为处理堆积如山的代码只会使事情变得更复杂,我只需使用一个脚本,将所有内容整齐地绑定到一个编译好的文件中,但在完成后仍然可读。至于重写数据库,我使用一个“忙”/“可用”系统来防止写冲突,所有的写操作都是通过echo命令完成的,以最大限度地减少写操作的时间。相关:这在一定程度上是可行的,但仅限于系统当时能够处理的RAM数量。该实现的问题是,每次Python代码运行时,它都必须加载该字典或该字符串,但如果该字符串的大小为12个库,并且至少一次运行只需ping一个服务器,该怎么办?自从我写了这个问题以来,进一步的发展促使我将页面底部的存储代码转换为base64,以实现更安全的错误处理和稳定性。