我是 Python 新手,正在玩 Pickle,但不明白這是如何工作的我定義了一個(gè) defaultdict,把它寫到 pickle 中。然后在不同的腳本中我閱讀了它,即使沒有導(dǎo)入集合,它仍然表現(xiàn)得像一個(gè) defaultdict腳本1:import picklefrom collections import defaultdictx = defaultdict(list)x['a'].append(1)print(x)with open('pick','wb') as f: pickle.dump( x, f )腳本2:import picklewith 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.pydefaultdict(<class 'list'>, {'a': [1], 'b': [2]}) Can't append to y因此,第二個(gè)腳本不導(dǎo)入 defaultdict 但腌制的 x 仍然像一個(gè)腳本。我很困惑 :)這在 Python 中是如何工作的?感謝您提供任何信息:)
添加回答
舉報(bào)
0/150
提交
取消