Power of Python Modules for Seamless Automation and Management.
Python offers various modules that can be incredibly useful for DevOps tasks. Here's an overview of some essential modules:
-
os module
Usage: For interacting with the operating system.
import os # Get the current working directory print(os.getcwd()) # List files in a directory print(os.listdir('.'))
-
platform module
Usage: Provides information about the platform.
import platform # Get the machine architecture print(platform.machine()) # Get the OS release version print(platform.release())
-
subprocess module
Usage: Run external commands.
import subprocess # Run a shell command subprocess.run(['ls', '-l'])
-
sys module
Usage: Access system-specific parameters.
import sys # Get command line arguments print(sys.argv) # Get Python version print(sys.version)
-
psutil module
Usage: Provides an interface for retrieving system information.
import psutil # Get CPU usage print(psutil.cpu_percent()) # Get memory usage print(psutil.virtual_memory())
-
re (Regular Expression) module
Usage: Pattern matching and manipulation.
import re # Find all matches of 'devops' in a string text = 'DevOps is amazing, devops rocks!' matches = re.findall('devops', text, flags=re.IGNORECASE) print(matches)
-
scapy module
Usage: Packet manipulation library.
from scapy.all import * packet = IP(dst="1.2.3.4")/ICMP() send(packet)
-
Requests and urllib3 modules
Usage: HTTP client libraries for making requests.
import requests # Make a GET request response = requests.get('https://api.example.com/data') print(response.status_code)
-
logging module
Usage: Logging messages to a file, console, etc.
import logging logging.basicConfig(filename='example.log', level=logging.INFO) logging.info('This is an informational message')
-
getpass module
Usage: Securely handling password prompts.
import getpass password = getpass.getpass('Enter your password: ') print('Password entered:', password)
-
boto3 module
Usage: AWS SDK for Python.
import boto3 s3 = boto3.resource('s3') for bucket in s3.buckets.all(): print(bucket.name)
-
paramiko module
Usage: SSH2 protocol library.
import paramiko client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) client.connect('hostname', username='user', password='pass') stdin, stdout, stderr = client.exec_command('ls -l') print(stdout.read().decode()) client.close()
-
JSON module
Usage: Handling JSON data.
import json data = {'name': 'John', 'age': 30} # Serialize to JSON json_data = json.dumps(data) print(json_data) # Deserialize from JSON decoded_data = json.loads(json_data) print(decoded_data)
-
PyYAML module
Usage: Handling YAML files.
import yaml # Load YAML from a file with open('config.yaml', 'r') as file: data = yaml.safe_load(file) print(data) # Convert Python object to YAML yaml_data = yaml.dump(data) print(yaml_data)
-
pandas module
Usage: Data manipulation and analysis.
import pandas as pd # Read a CSV file data = pd.read_csv('data.csv') # Display first few rows print(data.head())
-
smtplib module
Usage: Sending emails using SMTP.
import smtplib # Connect to SMTP server server = smtplib.SMTP('smtp.example.com', 587) server.starttls() server.login('your_email@example.com', 'your_password') # Send email message = 'Subject: Hello\n\nThis is a test email.' server.sendmail('your_email@example.com', 'recipient@example.com', message) # Quit SMTP server server.quit()
Comments
Post a Comment