Pickle有尺寸或内存限制吗?

时间:2014-08-11 15:07:25

标签: python pickle

我正在运行一个大型数据集并比较此数据集中字符串的相似性。如果两个(或更多)字符串足够相似,它们将在字典中的键值对下组合在一起。最终,我最终将会:

{1 : [string1, string2, ...], 2: [string3, string4, ...] ...}

因此,所有类似的字符串将与数字键分组成对。但是,由于数据集太大而且运行时间很长,因此我使用Pickle保存了所有内容,将处理后的字典转储为txt格式的文件。

但是,当我尝试从Pickle文件中检索数据时,字典会失真:只有一个键值对,并且所有字符串都被分组到同一个组中:

{1: [all the strings]}

起初我以为我的代码有一些东西,但我运行了一小部分数据集并且它有效。我使用标准的pickle.dump函数保存了我的数据。我想知道Pickle是否有内存或大小限制,以及这是否是潜在的问题?

编辑:

我很想提供一个最小的例子,但我用来比较字符串的代码有点复杂,这是我使用的Pickle代码:

with open("product30.txt", "wb") as f:
    pickle.dump(mydict, f)

这是我用来检索Pickled数据的代码:

retrieveddict = pickle.load(open( "product30.txt", "rb"))

我确定比较代码是正确的。我运行了一些代码的随机部分并且它工作,我的数据集中的数据以相同的格式编写:基本上是5,000个物理地址的列表。

0 个答案:

没有答案