我是 Python 新手,正在玩 Pickle,但不明白这是如何工作的我定义了一个 defaultdict,把它写到 pickle 中。然后在不同的脚本中我阅读了它,即使没有导入集合,它仍然表现得像一个 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因此,第二个脚本不导入 defaultdict 但腌制的 x 仍然像一个脚本。我很困惑 :)这在 Python 中是如何工作的?感谢您提供任何信息:)
添加回答
举报
0/150
提交
取消