gpt4 book ai didi

python - 将文件内容保存在内存中

转载 作者:太空宇宙 更新时间:2023-11-04 08:20:35 24 4
gpt4 key购买 nike

我有一个相当大的二进制格式的 pickled (dict) 文件,每次我从中查找乐谱时加载它需要几秒钟。我想知道是否可以在内存中只加载一次文件并从中查找,直到我退出程序。另外,如果有任何其他方法可以加快我的搜索速度。
提前谢谢了。

最佳答案

当我遇到此类问题时,我通常会创建一个函数并使用 memoize 装饰器对其进行装饰。在 http://wiki.python.org/moin/PythonDecoratorLibrary 上寻找“Memoize”

例如:

@memoized
def get_dict():
return pickle.load(file)

foo = get_dict()['foo']

在这里使用 memoization 而不是在加载时执行它可以使这种情况延迟发生,因此如果您在程序的某些使用过程中最终没有使用该文件,您无需支付加载它的费用。

此外,就像另一位发帖人建议的那样,您应该使用 cPickle:

import cPickle as pickle

您也可以考虑将大型字典拆分,可能经常在一个 pickle 中使用数据而在其他 pickle 中使用较少的数据。

关于python - 将文件内容保存在内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5807346/

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