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:

  1. Notice the 'b' when I use open() to open a file. Pickles are commonly stored in a binary format, so you must open the file in a binary mode.
  2. I used the with context manager. This ensures that a file is safely closed once all my work with the file is done.

Tags:

Python

List

Save