Python Libraries for DevOps| Day 15 of 90 Days of DevOps

Ajit Fawade
3 min readAug 3, 2023

--

Photo by Hitesh Choudhary on Unsplash

Welcome to Day 13 of #90DaysOfDevOps!

Today, let’s dive into a crucial aspect of being a DevOps Engineer — reading JSON and YAML in Python.

Reading JSON and YAML in Python

As DevOps Engineers, parsing files is a fundamental skill. Python offers powerful libraries that simplify handling various file formats like txt, json, and yaml.

Libraries for DevOps in Python

Python boasts a wealth of libraries like os, sys, json, and yaml, which prove indispensable in our day-to-day tasks.

Task 1: Create a Dictionary and Write to JSON

Let’s start by creating a Python dictionary and writing it to a JSON file. JSON provides an organized and human-readable structure for data exchange.

  import json

# Create a Python dictionary
data = {
"name": "John Doe",
"age": 30,
"occupation": "DevOps Engineer"
}

# Write dictionary to JSON file
with open("data.json", "w") as json_file:
json.dump(data, json_file, indent=4)

Task 2: Read JSON and Extract Cloud Service Names

Now, we’ll read a JSON file, “services.json,” and extract the service names of each cloud service provider. The content of “services.json” is shown below:

  {
"services": {
"debug": "on",
"aws": {
"name": "EC2",
"type": "pay per hour",
"instances": 500,
"count": 500
},
"azure": {
"name": "VM",
"type": "pay per hour",
"instances": 500,
"count": 500
},
"gcp": {
"name": "Compute Engine",
"type": "pay per hour",
"instances": 500,
"count": 500
}
}
}
  # Read JSON and extract cloud service names
with open("services.json", "r") as json_file:
data = json.load(json_file)

cloud_providers = data["services"].keys()
print("Cloud Service Providers:")
for provider in cloud_providers:
if provider != "debug":
print("- ", provider)

Task 3: Read YAML and Convert to JSON

YAML is another popular data serialization format. Let’s read “services.yaml” and convert its contents to JSON. The content of “services.yaml” is shown below:

  ---
services:
debug: 'on'
aws:
name: EC2
type: pay per hour
instances: 500
count: 500
azure:
name: VM
type: pay per hour
instances: 500
count: 500
gcp:
name: Compute Engine
type: pay per hour
instances: 500
count: 500
  import yaml

# Read YAML and convert to JSON
with open("services.yaml", "r") as yaml_file:
data = yaml.safe_load(yaml_file)

with open("services_converted.json", "w") as json_file:
json.dump(data, json_file, indent=4)

Reading JSON and YAML files in Python is a fundamental skill for DevOps Engineers. With Python’s powerful libraries, we can efficiently handle data and extract valuable information.

Make sure to practice these tasks to enhance your DevOps toolkit!

Feel free to connect with me on LinkedIn Check out my GitHub for more resources.

Happy learning, and stay tuned for more exciting DevOps content!

--

--

No responses yet