Operations 24 min read

17 Essential Python Scripts for Automating Everyday Tasks

An extensive guide presents 17 practical Python scripts covering file management, web scraping, email handling, Excel processing, database interaction, system tasks, image editing, network automation, data cleaning, PDF manipulation, GUI automation, testing, cloud services, finance, and natural language processing, enabling readers to streamline workflows and boost productivity.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
17 Essential Python Scripts for Automating Everyday Tasks

This article introduces a collection of 17 Python scripts designed to automate a wide range of routine tasks, helping developers and IT professionals improve efficiency across multiple domains.

1. File Management – Sort files by extension and remove empty folders.

# Python script to sort files in a directory by their extension
import os
from shutil import move

def sort_files(directory_path):
    for filename in os.listdir(directory_path):
        if os.path.isfile(os.path.join(directory_path, filename)):
            file_extension = filename.split('.')[-1]
            destination_directory = os.path.join(directory_path, file_extension)
            if not os.path.exists(destination_directory):
                os.makedirs(destination_directory)
            move(os.path.join(directory_path, filename), os.path.join(destination_directory, filename))

It also includes a script to delete empty directories:

# Python script to remove empty folders in a directory
import os

def remove_empty_folders(directory_path):
    for root, dirs, files in os.walk(directory_path, topdown=False):
        for folder in dirs:
            folder_path = os.path.join(root, folder)
            if not os.listdir(folder_path):
                os.rmdir(folder_path)

2. Web Scraping – Extract data from websites and download images in bulk.

# Python script for web scraping to extract data from a website
import requests
from bs4 import BeautifulSoup

def scrape_data(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    # Your code here to extract relevant data from the website

3. Text Processing – Count words, find‑replace, and generate random text.

# Python script to count words in a text file
def count_words(file_path):
    with open(file_path, 'r') as f:
        text = f.read()
        word_count = len(text.split())
    return word_count

4. Email Automation – Send personalized emails and attachments.

# Python script to send personalized emails to a list of recipients
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_personalized_email(sender_email, sender_password, recipients, subject, body):
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(sender_email, sender_password)
    for recipient_email in recipients:
        message = MIMEMultipart()
        message['From'] = sender_email
        message['To'] = recipient_email
        message['Subject'] = subject
        message.attach(MIMEText(body, 'plain'))
        server.sendmail(sender_email, recipient_email, message.as_string())
    server.quit()

5. Excel Automation – Read/write spreadsheets and perform basic analysis.

# Python script to read and write data to an Excel spreadsheet
import pandas as pd

def read_excel(file_path):
    df = pd.read_excel(file_path)
    return df

def write_to_excel(data, file_path):
    df = pd.DataFrame(data)
    df.to_excel(file_path, index=False)

6. Database Interaction – Connect to SQLite (or other DBs) and execute queries.

# Python script to connect to a database and execute queries
import sqlite3

def connect_to_database(database_path):
    connection = sqlite3.connect(database_path)
    return connection

def execute_query(connection, query):
    cursor = connection.cursor()
    cursor.execute(query)
    result = cursor.fetchall()
    return result

7. Social Media Automation – Post to Twitter and Facebook using respective APIs.

# Python script to automate posting on Twitter and Facebook
from twython import Twython
import facebook

def post_to_twitter(api_key, api_secret, access_token, access_token_secret, message):
    twitter = Twython(api_key, api_secret, access_token, access_token_secret)
    twitter.update_status(status=message)

def post_to_facebook(access_token, message):
    graph = facebook.GraphAPI(access_token)
    graph.put_object(parent_object='me', connection_name='feed', message=message)

8. System Tasks – Manage processes and schedule jobs with cron.

# Python script to manage system processes
import psutil

def get_running_processes():
    return [p.info for p in psutil.process_iter(['pid', 'name', 'username'])]

def kill_process_by_name(process_name):
    for p in psutil.process_iter(['pid', 'name', 'username']):
        if p.info['name'] == process_name:
            p.kill()

9. Image Automation – Resize, crop, watermark, and create thumbnails.

# Python script to resize and crop images
from PIL import Image

def resize_image(input_path, output_path, width, height):
    image = Image.open(input_path)
    resized_image = image.resize((width, height), Image.ANTIALIAS)
    resized_image.save(output_path)

def crop_image(input_path, output_path, left, top, right, bottom):
    image = Image.open(input_path)
    cropped_image = image.crop((left, top, right, bottom))
    cropped_image.save(output_path)

10‑17. Additional sections cover network automation, data cleaning, PDF operations, GUI automation, testing (unittest & Selenium), cloud services (AWS, Google Drive), finance automation, and natural language processing (sentiment analysis, summarization, translation), each accompanied by concise example code.

Overall, the guide serves as a practical toolbox for automating repetitive tasks, reducing manual effort, and enhancing productivity across development, operations, and data‑centric workflows.

pythonAutomationproductivityscriptingDataProcessingWebScraping
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.