Keeping the data of a variable between runs of code
You have to use persistent storage: write the words in a file when you add them and retrieve them from this file when the program starts.
Simply pickle the data you want to keep persistent. Since your use case doesn't require very complex data storage, pickling is a very good option. A small example:
import pickle
word_list = ["cat", "hat", "jump", "house", "orange", "brick", "horse", "word"]
# do your thing here, like
word_list.append("monty")
# open a pickle file
filename = 'mypickle.pk'
with open(filename, 'wb') as fi:
# dump your data into the file
pickle.dump(word_list, fi)
Later when you need to use it again, just load it up:
# load your data back to memory when you need it
with open(filename, 'rb') as fi:
word_list = pickle.load(fi)
Ta-da! You have data persistence now. More reading here. A few important pointers:
- Notice the
'b'
when I useopen()
to open a file. Pickles are commonly stored in a binary format, so you must open the file in a binary mode. - I used the
with
context manager. This ensures that a file is safely closed once all my work with the file is done.