如何将Python中的collections.Counter对象写入文件,并从文件重新加载并用作计数器对象

11
我有一个“Counter”对象,该对象由处理大量文档所形成。
我想将此对象存储在文件中。并且这个对象需要在另一个程序中使用,所以我想从文件中完整地加载存储的“Counter”对象到当前程序中(作为计数器对象)。
有没有办法实现这一点?
1个回答

15
你可以使用 pickle 模块 将任意 Python 实例序列化到文件中,并在以后的时间恢复它们到原始状态。
这包括 Counter 对象:
>>> import pickle
>>> from collections import Counter
>>> counts = Counter('the quick brown fox jumps over the lazy dog')
>>> with open('/tmp/demo.pickle', 'wb') as outputfile:
...     pickle.dump(counts, outputfile)
... 
>>> del counts
>>> with open('/tmp/demo.pickle', 'rb') as inputfile:
...     print(pickle.load(inputfile))
... 
Counter({' ': 8, 'o': 4, 'e': 3, 'h': 2, 'r': 2, 'u': 2, 't': 2, 'a': 1, 'c': 1, 'b': 1, 'd': 1, 'g': 1, 'f': 1, 'i': 1, 'k': 1, 'j': 1, 'm': 1, 'l': 1, 'n': 1, 'q': 1, 'p': 1, 's': 1, 'w': 1, 'v': 1, 'y': 1, 'x': 1, 'z': 1})

@ShreevatsaR:啊,那是一个编辑错误。感谢您指出,我已经修正了它! - Martijn Pieters

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接