Featured resource
2025 Tech Upskilling Playbook
Tech Upskilling Playbook

Build future-ready tech teams and hit key business milestones with seven proven plays from industry leaders.

Check it out
  • Lab
    • Libraries: If you want this lab, consider one of these libraries.
    • Cloud
Google Cloud Platform icon
Labs

Working with INI Configuration Files Using configparser

Many applications can use configuration files to read configuration options and other parameters that finish the start up of the application, or make it behave in a certain way. Configuration files can also be used to define server setup, and keep key parameters that allow the application to run with minimum user input. In this lab we will explore the reading, writing, and updating of configuration files using Python's `configparser`. You will need basic Python programming and SQL skills for this lab: - [Certified Associate in Python Programming Certification](https://linuxacademy.com/cp/modules/view/id/470) - [configparser Documentation](https://docs.python.org/3/library/configparser.html)

Google Cloud Platform icon
Lab platform
Lab Info
Level
Beginner
Last updated
Jun 21, 2025
Duration
45m

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
Table of Contents
  1. Challenge

    Create the printer_config.ini File

    Create printer_config.ini using configparser.

    Run python printer_file.py. This will result in an AssertionError.

    Now update printer_file.py so that is passes the test.

    # data to be used
    # ["author", "title", "pages", "due_date", "genre", "isbn"],
    data_list = [
        ["Thompson, Keith", "Oh Python! My Python!", 1200, "2020-11-15", "biography", "000-1-000000-00-1"],
        ["Fritts, Larry", "Fun with Django", 150, "2020-06-23", "satire", "00-2-000000-00-2"]
    ]
    
    novel_text = "Numquam labore labore tempora. Dolore dolorem quisquam aliquam eius dolor non ipsum. Dolorem est velit tempora quaerat. Est magnam porro voluptatem dolore. Adipisci voluptatem consectetur dolore voluptatem voluptatem neque. Adipisci non modi quiquia etincidunt quisquam. Etincidunt consectetur dolore ut. Quaerat ut adipisci sit aliquam quisquam ut. Voluptatem labore porro porro.\n\nPorro modi numquam non sed dolor. Consectetur dolor adipisci quaerat aliquam adipisci. Etincidunt porro modi dolor neque numquam magnam neque. Ipsum consectetur ut eius ut. Dolor ut modi non est tempora labore sit.\n\nEtincidunt voluptatem quaerat consectetur sed est etincidunt ipsum. Ut adipisci numquam etincidunt porro porro. Dolore eius modi aliquam. Velit amet sed quaerat etincidunt est. Ut consectetur modi ipsum sed aliquam. Amet tempora quiquia eius voluptatem aliquam dolore ut. Etincidunt dolor non voluptatem eius sed non adipisci."
    
    # use configparser to create the configuration file as described in the instructions
    # write the file to printer_config.ini
    config = configparser.ConfigParser()
    
    config["DEFAULT"] = {
        "pub_house": "Atlantic Publishing",
        "number_of_books": '2'
    }
    
    for index, book in enumerate(data_list):
        config[f"book{index + 1}"] = {
            "author": book[0],
            "title": book[1],
            "genre": book[4],
            "text": novel_text
        }
    
    with open("printer_config.ini", "w") as f:
        config.write(f)
    

    Run python printer_file.py.

    Congratulations! You have shown that you can use configparser to write a configuration file.

  2. Challenge

    Update the printer_config.ini File to Include ISBN

    The publisher apologized because they forgot to ask for the ISBN of each book. Update the printer_config.ini file to include the ISBN for each book.

    Run python update_printer_file.py. This will also result in an AssertionError.

    Now update update_printer_file.py so that is passes the test.

    # data to be used, removed field names from list
    # ["author", "title", "pages", "due_date", "genre", "isbn"],
    data_list = [
        ["Thompson, Keith", "Oh Python! My Python!", 1200, "2020-11-15", "biography", "000-1-000000-00-1"],
        ["Fritts, Larry", "Fun with Django", 150, "2020-06-23", "satire", "00-2-000000-00-2"]
    ]
    
    novel_text = "Numquam labore labore tempora. Dolore dolorem quisquam aliquam eius dolor non ipsum. Dolorem est velit tempora quaerat. Est magnam porro voluptatem dolore. Adipisci voluptatem consectetur dolore voluptatem voluptatem neque. Adipisci non modi quiquia etincidunt quisquam. Etincidunt consectetur dolore ut. Quaerat ut adipisci sit aliquam quisquam ut. Voluptatem labore porro porro.\n\nPorro modi numquam non sed dolor. Consectetur dolor adipisci quaerat aliquam adipisci. Etincidunt porro modi dolor neque numquam magnam neque. Ipsum consectetur ut eius ut. Dolor ut modi non est tempora labore sit.\n\nEtincidunt voluptatem quaerat consectetur sed est etincidunt ipsum. Ut adipisci numquam etincidunt porro porro. Dolore eius modi aliquam. Velit amet sed quaerat etincidunt est. Ut consectetur modi ipsum sed aliquam. Amet tempora quiquia eius voluptatem aliquam dolore ut. Etincidunt dolor non voluptatem eius sed non adipisci."
    
    # use configparser to change the configuration file as described in the instructions
    # overwrite printer_config.ini
    config = configparser.ConfigParser()
    config.read('printer_config.ini')
    
    for index, book in enumerate(data_list):
        config.set(f"book{index+1}", "isbn", book[5])
    
    with open('printer_config.ini', 'w') as f:
        config.write(f)
    

    Run python update_printer_file.py.

    Congratulations! You have shown that you can use configparser to update a configuration file.

About the author

Pluralsight Skills gives leaders confidence they have the skills needed to execute technology strategy. Technology teams can benchmark expertise across roles, speed up release cycles and build reliable, secure products. By leveraging our expert content, skill assessments and one-of-a-kind analytics, keep up with the pace of change, put the right people on the right projects and boost productivity. It's the most effective path to developing tech skills at scale.

Real skill practice before real-world application

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Learn by doing

Engage hands-on with the tools and technologies you’re learning. You pick the skill, we provide the credentials and environment.

Follow your guide

All labs have detailed instructions and objectives, guiding you through the learning process and ensuring you understand every step.

Turn time into mastery

On average, you retain 75% more of your learning if you take time to practice. Hands-on labs set you up for success to make those skills stick.

Get started with Pluralsight