在一个(或两个)500,000项+字典用于无向图搜索的情况下,在python中存储大量数据的最佳方法是什么?
我一直在考虑一些选项,例如将数据存储为XML:
...
或者在python文件中直接访问:
db = {"a": [1, 2], "b": ...}
还是在SQL数据库中?我认为这将是最好的解决方案,但我是否必须依靠SQL来进行计算而不是python本身?
Python源技术绝对是规则.
XML解析起来很慢,人们相对难以阅读.这就是像Altova这样的公司开展业务的原因 - 编辑XML并不令人愉快.
Python源代码db = {"a": [1, 2], "b": ...}
是
快速解析.
易于人们阅读.
如果您有可以读写大型词典的程序,请使用pprint
写入,以便获得格式良好的输出.更容易阅读的东西.
如果您担心可移植性,请考虑YAML(或JSON)来序列化对象.它们也可以快速解析,并且比XML更容易阅读.