Python Essentials

Virtual Environment
Create the environment
python -m venv env_name
Activate it
source env_name/bin/activate
Install requirements
pip install -r requirements.txt
Libraries
Check Library Version
pip show <library_name>

urllib3

Disable SSL warnings for insecure connections:

import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

pymysql

Python client for interacting with MySQL databases.

  • The following script dynamically executes SQL queries on a target database using credentials extracted from application settings.

  • It need to be in a directory where the craft_api module is accessible.

#!/usr/bin/env python

import pymysql
import sys
from craft_api import settings

# Test connection to MySQL database
connection = pymysql.connect(
    host=settings.MYSQL_DATABASE_HOST,
    user=settings.MYSQL_DATABASE_USER,
    password=settings.MYSQL_DATABASE_PASSWORD,
    db=settings.MYSQL_DATABASE_DB,
    cursorclass=pymysql.cursors.DictCursor
)

try:
    with connection.cursor() as cursor:
        sql = sys.argv[1]
        cursor.execute(sql)
        result = cursor.fetchall()
        print(result)
finally:
    connection.close()

Example

python myscript.py "SHOW GRANTS FOR CURRENT_USER()"

Last updated