Object serialization and persistence can be incredibly useful if you need to share data between multiple applications or save data for use later. Python provides utilities for serializing and deserializing Python objects to and from bytes, to make it possible to pass Python data structures between Python applications or to read/write to a file without needing to convert to an intermediate data format like JSON. In this hands-on lab, you’ll utilize these features in the standard library to create a simple flashcard command line application. By the time you’ve finished this lab, you should have a good understanding of how to use the `pickle` and/or `shelve` modules from the Python standard library.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a FlashCard Class with a Front and a Back
The
FlashCard
class needs to hold onto some string information. This class is a data class.- Implement new, delete, and list CLI Subcommands
The
new_flashcard
,delete_flashcard
, andlist_flashcards
functions all need to be implemented so that they can read and write from a local file that persists the flashcard information.- Implement the practice Command
When practicing, you want to be able to specify the number of questions.