gpt4 book ai didi

python - 在 Python 中保存和加载大型字典的最快方法

转载 作者:太空狗 更新时间:2023-10-29 17:17:06 26 4
gpt4 key购买 nike

我有一本比较大的字典。我怎么知道尺寸?好吧,当我使用 cPickle 保存它时,文件的大小将增长大约。 400MB。 cPickle 应该比 pickle 快得多,但是加载和保存这个文件只需要很多时间。我在 Linux 机器上有一台双核笔记本电脑 2.6 Ghz 和 4GB RAM。有没有人对在 python 中更快地保存和加载字典有任何建议?谢谢

最佳答案

使用 protocol=2 option cPickle 的。默认协议(protocol) (0) 慢得多,并在磁盘上生成大得多的文件。

如果您只是想使用一个超出内存容量的字典,shelve模块是一个很好的快速解决方案。它的作用类似于内存中的字典,但将自身存储在磁盘上而不是内存中。搁置基于 cPickle,因此请务必将协议(protocol)设置为 0 以外的任何值。

sqlite 这样的数据库的优势在 cPickle 上将取决于您的用例。您将多久写入一次数据?您希望读取您编写的每个数据多少次?您是否想对您写入的数据执行搜索,或者一次加载一个数据?

如果您一次写入,多次读取,并且一次加载一个文件,一定要使用数据库。如果你写一次,读一次,cPickle(除了默认协议(protocol) = 0 之外的任何协议(protocol))将很难被击败。如果您只想要一个大的、持久的字典,请使用搁置。

关于python - 在 Python 中保存和加载大型字典的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5248958/

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