Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
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
Labs

Path Info

Level
Clock icon Beginner
Duration
Clock icon 45m
Published
Clock icon Jun 05, 2020

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.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

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.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans