有没有pickle的替代品 - 保存字典(python)
Posted
技术标签:
【中文标题】有没有pickle的替代品 - 保存字典(python)【英文标题】:Is there an alternative to pickle - save a dictionary (python) 【发布时间】:2013-05-14 14:48:33 【问题描述】:我需要将字典保存到文件中,字典中有字符串、整数和字典。
我自己做的,它不对用户来说很漂亮。
我知道pickle,但我知道使用它并不安全,因为如果有人替换文件并且我(或其他人)将运行使用替换的文件文件,它将运行并可能做一些事情。 只是不安全。
是否有其他功能或导入的东西可以做到这一点。
【问题讨论】:
字典里有什么? 【参考方案1】:当由不受信任的第三者转移时,Pickle 是不安全的。本地文件很好,如果有东西可以替换文件系统上的文件,那么你就有不同的问题了。
也就是说,如果您的字典只包含字符串键,而值只是 Python 列表、数字、字符串或其他字典,则通过 json
module 使用 JSON。
【讨论】:
【参考方案2】:假设您的字典只包含基本数据类型,正常的答案是json
,这是一种流行的、定义明确的语言。
如果您的字典包含更复杂的数据,您将不得不手动将其序列化,至少部分方式。
【讨论】:
【参考方案3】:由于以下几个原因,JSON 并不完全是 Python 方式:
-
它无法包装/解包所有 Python 数据类型:不支持集合或元组。
不够快,因为它需要处理文本数据和编码。
尝试改用sPickle。
【讨论】:
您能否至少在您的帖子中添加免责声明,说明这是您自己的项目?以上是关于有没有pickle的替代品 - 保存字典(python)的主要内容,如果未能解决你的问题,请参考以下文章