Reference library

Python Code Samples

Copy-ready Python snippets by topic and difficulty — short, focused, and runnable in the browser editor.

14 matches
Errors & debugging easy

How to Use a Fallback Path with FileNotFoundError in Python

Read a primary file and fall back to a backup file when the first is missing, returning an empty string if both fail.

filenotfounderror exceptions fallback
Python
import pathlib

def read_config(path):
    primary = pathlib.Path(path)
    fallback = pathlib.Path("config_backup.json")
    try:
        with primary.open("r") as f:
            return f.read()
    except FileNotFoundError:
        try:
            with fallback.open("r") as f:
                return f.read()
      …
11 0 Open
Files & data medium

Create a Local File Versioning System Using Pure Python

Track file changes locally by copying versions with SHA-256 hashes and JSON metadata using only the Python standard library.

file-versioning files backup
Python
import os
import shutil
import hashlib
import json
import time
from pathlib import Path

class LocalFileVersioning:
    def __init__(self, target_dir="versioned_files", versions_dir="versions"):
        self.target_dir = Path(target_dir)
        self.versions_dir = Path(versions_dir)
        self.metadata_file = self.…
52 0 Open
Files & data easy

How to Build a Dated Backup Filename with Timestamp in Python

Generate unique backup filenames with a timestamp using Python's datetime module and f-strings.

datetime backup filenames
Python
from datetime import datetime

def build_backup_filename(base_name: str, extension: str = "bak") -> str:
    """Generate a dated backup filename with timestamp."""
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
    return f"{base_name}_{timestamp}.{extension}"

if __name__ == "__main__":
    backup_file = bu…
12 0 Open
Files & data medium

How to Sync Two Folders in Python (Lightweight Backup)

A Python script that synchronizes a source folder to a destination folder, copying new or updated files and removing files that no longer exist in the source.

sync backup filesystem
Python
import os
import shutil
import sys
from pathlib import Path

def sync_folders(src: Path, dst: Path):
    """Sync src folder to dst folder, copying missing/updated files."""
    dst.mkdir(parents=True, exist_ok=True)

    for src_path in src.rglob("*"):
        relative = src_path.relative_to(src)
        dst_path = ds…
37 0 Open
Files & data easy

Rotate Log Files in Python by Size

This code rotates a log file when its size exceeds a threshold, keeping a specified number of backups.

log-rotation files os
Python
import os
import glob
from pathlib import Path

def rotate_log(log_path, max_size_bytes=1024, max_backups=3):
    log_file = Path(log_path)
    if log_file.stat().st_size <= max_size_bytes:
        print(f"Log size {log_file.stat().st_size} bytes <= threshold, no rotation")
        return

    for i in range(max_backu…
13 0 Open
Automation & scripting medium

Build a Python Utility That Verifies Backup Integrity Automatically

Automatically compute and verify SHA-256 checksums of backup files using a JSON manifest to detect missing or corrupted data.

sha256 backup integrity
Python
import hashlib
import os
import json

def compute_checksum(filepath, algorithm='sha256'):
    """Compute checksum for the given file."""
    hash_func = hashlib.new(algorithm)
    with open(filepath, 'rb') as f:
        for chunk in iter(lambda: f.read(4096), b''):
            hash_func.update(chunk)
    return hash_f…
50 0 Open
Automation & scripting easy

How to Backup an SQLite Database with a Timestamp in Python

Backs up an SQLite database file to a timestamped copy using the sqlite3 backup API.

sqlite backup automation
Python
import sqlite3
import shutil
from datetime import datetime
from pathlib import Path

def backup_database(db_path: str, backup_dir: str = "backups") -> Path:
    db = Path(db_path)
    backup_folder = Path(backup_dir)
    backup_folder.mkdir(exist_ok=True)
    
    timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
 …
13 0 Open
Automation & scripting easy

How to Recover Deleted .txt Files from a Backup in Python

A Python function that searches a backup directory recursively and copies all .txt files to a destination folder, printing each recovered file name and a total count.

backup recovery file-operations
Python
import os
import shutil
from pathlib import Path

def recover_deleted_txt_files(source_backup_dir: str, destination_dir: str) -> None:
    """Recover .txt files from backup directory."""
    backup_path = Path(source_backup_dir)
    dest_path = Path(destination_dir)
    dest_path.mkdir(parents=True, exist_ok=True)

  …
39 0 Open
Automation & scripting medium

How to Sync Two Directories in Python (rsync-like)

Mirror a source directory into a destination by copying new or changed files and deleting extras, similar to rsync.

sync directory rsync
Python
import os
import shutil
import sys
from pathlib import Path

def sync_dirs(src: Path, dst: Path):
    """Mirror src into dst: copy new files, overwrite changed, delete extras."""
    dst.mkdir(parents=True, exist_ok=True)
    for dst_entry in dst.rglob('*'):
        rel = dst_entry.relative_to(dst)
        src_entry =…
14 0 Open
Automation & scripting easy

Restore sqlite from latest backup file in Python

This script finds the most recently modified backup file in a directory and restores it to the main database path, then verifies the restored data.

sqlite backup file-io
Python
import sqlite3
import glob
import os
import shutil

def restore_latest_backup(db_path, backup_dir):
    backups = sorted(glob.glob(os.path.join(backup_dir, "*.db")), key=os.path.getmtime)
    if not backups:
        raise FileNotFoundError("No backup files found")
    latest = backups[-1]
    shutil.copy2(latest, db_p…
14 0 Open
Automation & scripting easy

Restrict Secrets File Permissions with the chmod Script in Python

This script restricts a secrets file to 0600 permissions, rotates it to a dated backup, and creates a fresh protected file for secure automation workflows.

chmod permissions secrets
Python
import os
import sys
import stat
from pathlib import Path

def restrict_secrets_file(filepath: str) -> None:
    """Set restrictive permissions (0600) on a secrets file."""
    path = Path(filepath).expanduser()
    
    if not path.is_file():
        raise FileNotFoundError(f"Secrets file not found: {path}")
    
   …
13 0 Open
Automation & scripting medium

Track File Changes with Version History in Python

A Python utility that monitors a file for changes, creating versioned backups with SHA-256 hashing to detect modifications and store a local JSON history.

file-monitoring versioning automation
Python
import hashlib, json, os, shutil, time
from pathlib import Path

class FileTracker:
    def __init__(self, history_file="file_history.json"):
        self.history_file = Path(history_file)
        self.history = self._load_history()

    def _load_history(self):
        if self.history_file.exists():
            retur…
36 0 Open
Git + Python easy

How to Mirror a Bare Git Repository Backup in Python

Run a git clone --bare subprocess to create a timestamped bare-repo backup folder with error handling.

git backup subprocess
Python
import subprocess
import shlex
from pathlib import Path
from datetime import datetime


def mirror_bare_repo(source_url: str, backup_dir: str) -> str:
    """Mirror a bare git repository to a timestamped backup folder."""
    backup_path = Path(backup_dir)
    backup_path.mkdir(parents=True, exist_ok=True)

    timest…
12 0 Open
Observability & SRE easy

Rotate Log Files by Size in Python

A mock log rotation script that renames log files exceeding a size threshold, appending numbered backups.

log-rotation pathlib file-management
Python
import os
from pathlib import Path

def rotate_logs(directory: str, max_size: int = 100) -> None:
    """Rotate log files that exceed max_size bytes."""
    log_dir = Path(directory)
    for log_file in sorted(log_dir.glob("*.log"), key=lambda p: str(p)):
        if log_file.stat().st_size > max_size:
            for …
13 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.