The shelve Module

The shelve module provides a persistent dictionary

  • Idea: works like a dictionary, but data is stored on disk
     import shelve
     d = shelve.open("data")         # Open a 'shelf'
     d['foo'] = 42                   # Save data
     x = d['bar']                    # Retrieve data 
  • Shelf operations
     d[key] = obj                    # Store an object
     obj = d[key]                    # Retrieve an object
     del d[key]                      # Delete an object
     d.has_key(key)                  # Test for existence of key
     d.keys()                        # Return a list of all keys
     d.close()                       # Close the shelf

Comments

  • Keys must be strings.
  • Data can be any object serializable with pickle.
<<< O'Reilly OSCON 2000, Advanced Python Programming, Slide 48
July 17, 2000, beazley@cs.uchicago.edu
>>>