在我在这里提出的一个较早的问题之后(将一个类的特征组合到另一个类的最合适的方法?)我得到了一个我终于明白的答案。简而言之,我现在打算拥有一堆字典,每个字典看起来有点像这样:
{ "url": "http://....", "parser": SomeParserClass }
尽管稍后可能会添加更多属性,但将包括字符串或其他一些类。现在我的问题是:保存这些对象的最佳方法是什么?
我想到了 3 个解决方案,不确定哪个是最好的,以及是否还有其他更可接受的解决方案。
使用pickle,虽然使用它似乎很有效,但编辑任何这些字典都会很痛苦,因为它是以二进制格式保存的。
将每个字典保存在单独的模块中并从单个目录动态导入这些模块,每个模块内部都有一个函数来返回字典或特制的变量名称来保存它,以便我可以从加载代码中调用它。这似乎更容易编辑,但听起来不是很有效或 pythonic
使用某种数据库,如 MongoDB 或 Riak 来保存这些对象,我对这个的问题是编辑是可行的,但听起来并不有趣,而且前 2 个配备了正确保存我的解析器类的方法字典,我不知道这些数据库如何序列化或“腌制”这些对象。
正如您所看到的,我主要关心的是编辑它们的难易程度、保存和检索数据的效率(虽然不是一个大问题,因为我只有几百个这样的数据)以及解决方案的正确性。
那么,有什么想法吗?
提前感谢您提供的任何帮助。