Google Colab,不能给我的defaultdict泡菜-RecursionError

时间:2019-11-06 22:22:45

标签: python pickle google-colaboratory defaultdict

我正在使用google colab。我已经做了很多次我想做的确切事情,所以我不知道为什么它现在不起作用。

我要做的就是制作一个约有1000个键的字典,每个值都是4个字符串的列表。 我已经确认字典就是我想的那样。

我正在使用joblib。我也尝试过pickle.dump。

dump(mydict,'/content/gdrive/My Drive/mydict.joblib')

结果为:

---------------------------------------------------------------------------
RecursionError                            Traceback (most recent call last)
<ipython-input-5-7edb860e5e4b> in <module>()
----> 1 dump(newdict,'/content/gdrive/My Drive/refs2019.joblib')

74 frames
... (skipped 134 stack entries. Use sys.last_value and sys.last_traceback to investigate further.) ...
... last 203 frames repeated, from the frame below ...

/usr/lib/python3.6/pickle.py in save(self, obj, save_persistent_id)
    519 
    520         # Save the reduce() output and finally memoize the object
--> 521         self.save_reduce(obj=obj, *rv)
    522 
    523     def persistent_id(self, obj):

RecursionError: maximum recursion depth exceeded in comparison

我已经尝试了几次。我在不同的运行时尝试过。我检查了一下我的Google驱动器是否未满。我什至创建了一个大小可比较的列表,并在相同的运行时对其进行了腌制。效果很好。

有什么建议吗?我不确定该怎么办。也许稍后再试一次?如果是这样的话,我会很伤心。

1 个答案:

答案 0 :(得分:1)

好吧,这让我发疯了,但我最终想通了。 我有一个我认为是字符串的defaultdict(list)。

但是实际上,它们是通过调用table.string产生的某种漂亮的汤对象。

有点误导。显然,它完全可以解决各种酸洗问题。也搞砸了我对json转储的尝试。

我通过将它们显式转换为字符串来修复它,现在它实际上会腌制。