猿问

Python:Pickle 如何使用 defaultdict

我是 Python 新手,正在玩 Pickle,但不明白这是如何工作的


我定义了一个 defaultdict,把它写到 pickle 中。然后在不同的脚本中我阅读了它,即使没有导入集合,它仍然表现得像一个 defaultdict


脚本1:


import pickle

from collections import defaultdict


x = defaultdict(list)


x['a'].append(1)

print(x)


with open('pick','wb') as f:

    pickle.dump( x, f )

脚本2:


import pickle


with open('pick','rb') as f:

    x = pickle.load( f )


x['b'].append(2)

print(x)


y = dict()


try:

    y['b'].append(2)

    print(y)

except KeyError:

    print("Can't append to y")

跑步:


$ python3 pick2.py

defaultdict(<class 'list'>, {'a': [1], 'b': [2]}) 

Can't append to y

因此,第二个脚本不导入 defaultdict 但腌制的 x 仍然像一个脚本。我很困惑 :)


这在 Python 中是如何工作的?感谢您提供任何信息:)


慕哥6287543
浏览 202回答 1
1回答
随时随地看视频慕课网APP

相关分类

Python
我要回答