gpt4 book ai didi

Python:如何将列表写入文件,然后稍后将其拉回内存(dict表示为字符串转换为dict)?

转载 作者:IT老高 更新时间:2023-10-28 22:01:55 25 4
gpt4 key购买 nike

更具体的欺骗 875228—Simple data storing in Python .

我有一个相当大的字典(6 GB),我需要对其进行一些处理。我正在尝试几种文档聚类方法,因此我需要一次将整个内容保存在内存中。我有其他函数可以在这些数据上运行,但内容不会改变。

目前,每当我想到新函数时,我都必须编写它们,然后重新生成 dict。我正在寻找一种将这个字典写入文件的方法,这样我就可以将它加载到内存中,而不是重新计算它的所有值。

为了过度简化它看起来像这样的东西: {((('word','list'),(1,2),(1,3)),(...)):0.0, ....}

我觉得 python 一定有比我更好的方法循环遍历一些字符串来寻找 : 和 ( 试图将它解析成字典。

最佳答案

为什么不使用 python pickle ?Python 有一个很棒的序列化模块,称为 pickle,它非常易于使用。

import cPickle
cPickle.dump(obj, open('save.p', 'wb'))
obj = cPickle.load(open('save.p', 'rb'))

pickle 有两个缺点:

  • 它不能防止错误或恶意构造的数据。绝不unpickle 从接收到的数据不受信任或未经身份验证的来源。
  • 格式不可读。

如果您使用的是 python 2.6,则有一个名为 json 的内置模块.使用起来就像 pickle 一样简单:

import json
encoded = json.dumps(obj)
obj = json.loads(encoded)

Json 格式是人类可读的,与 python 中的字典字符串表示非常相似。并且没有任何像 pickle 这样的安全问题。但可能比 cPickle 慢。

关于Python:如何将列表写入文件,然后稍后将其拉回内存(dict表示为字符串转换为dict)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/890485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com