Reference library

Python Code Samples

Medium snippets you can copy, study, and run in the browser editor.

6 matches
Automation & scripting medium

Extract Attachments from mbox Mailbox Files in Python

Extract file attachments from an mbox mailbox format using Python's standard library email and mailbox modules.

mbox email attachments
Python
import email
import mailbox
from email.policy import default
from pathlib import Path

def extract_attachments(mbox_path, output_dir):
    output_dir = Path(output_dir)
    output_dir.mkdir(exist_ok=True)
    mbox = mailbox.mbox(mbox_path)
    
    for msg in mbox:
        if msg.is_multipart():
            for part i…
13 0 Open
Automation & scripting medium

Find Sensitive Information in Log Files with Python

Scan log files for emails, IP addresses, API keys, and passwords using regular expressions in Python.

regex security log-analysis
Python
import re
import os
from pathlib import Path

def find_sensitive_info(log_path):
    """Scans log files for patterns like emails, IPs, API keys, and passwords."""
    patterns = {
        'Email': r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}',
        'IP Address': r'\b(?:\d{1,3}\.){3}\d{1,3}\b',
        'API Key'…
37 0 Open
Automation & scripting medium

How to Send an Email with smtplib and a Mock Server in Python

Send an email using smtplib and verify it with a local aiosmtpd mock SMTP server — perfect for testing without a real mail server.

smtplib email aiosmtpd
Python
import smtplib
from email.message import EmailMessage
import aiosmtpd.controller as controller
import threading


def handle_message(server, session, envelope):
    print(f"Mock server received message:")
    print(f"From: {envelope.mail_from}")
    print(f"To: {envelope.rcpt_tos}")
    print(f"Subject: {envelope.cont…
12 0 Open
Git + Python medium

How to Format Git Patch Series as an MBOX File in Python

Generate a patch-series mbox file from commit metadata with numbered [PATCH nnn/nnn] subjects and a Git-style footer.

git mbox patch-series
Python
import re
from pathlib import Path


def format_patch_series_mbox(commits, output_path="series.mbox"):
    entries = []
    for idx, commit in enumerate(commits, start=1):
        subject = commit["subject"]
        author = commit["author"]
        email = commit["email"]
        date = commit["date"]
        body = …
13 0 Open
Git + Python medium

Mock smtplib to Test Patch Email Series in Python

Simulate sending a numbered series of patch emails with smtplib and verify the calls using unittest.mock without a real mail server.

smtplib unittest.mock email
Python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from unittest.mock import patch, Mock

def send_patch_series(subject_prefix, patches, smtp_host="localhost", smtp_port=25):
    """Simulate sending a series of patch emails."""
    for i, patch_content in enumerate(patch…
13 0 Open
Caching & Redis medium

How to Validate and Cache Data with Redis in Python

A beginner-friendly helper that validates email, phone, and age data and caches validated entries in Redis for 5 minutes.

redis caching validation
Python
import redis
import json
from functools import wraps

class DataValidator:
    def __init__(self, host="localhost", port=6379, db=0):
        self.cache = redis.Redis(host=host, port=port, db=db)
        self.validators = {
            "email": lambda v: "@" in v and "." in v.split("@")[-1],
            "phone": lambd…
15 0 Open

Browse by section

Each section groups closely related Python snippets.

Guide: free Python code samples library

Copy-ready Python snippets for learners and developers

PythonSkillset code samples are short, focused examples organised by topic and difficulty. Every snippet is server-rendered HTML — readable by search engines and easy to copy. Open any sample, read the notes, copy the code, then press Try in editor to run it in the browser with Pyodide.

How to use this library

  1. Pick a topic section — strings, lists, files, functions, and more
  2. Open a sample, read How it works, and copy the code block
  3. Run it in the IDE, tweak values, then take a related quiz or tutorial lesson

Samples vs tutorials and challenges

Samples are quick reference — one concept per page. For step-by-step teaching, use our Python tutorials. To test yourself, try quizzes or coding challenges. Clean up style with the Python formatter.