简体   繁体   中英

how to write the collections.Counter object to a file in python and then reload it from the file and use it as a counter object

I have a Counter object which is formed by processing a large set of documents.

I want to store this object in a file. And this object needs to be used in another program, for that I want to load the stored Counter object to the current program from the file intact (as a counter object).

Is there any way to accomplish this?

You can use the pickle module to serialise arbitrary Python instances to a file, and restore them at a later time to their original state.

This includes Counter objects:

>>> 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})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM