Automation saves time, reduces errors, and frees your creativity for bigger challenges. Inspired by classic automation ideas, here’s a curated set of new and improved Python scripts crafted to tackle practical tasks in fresh ways — perfect for developers, marketers, and creators like you.
1. Clipboard History Tracker with Search
Keep a searchable archive of everything you copy, accessible via a command line interface — never lose important snippets again.
Bonus: Search past clipboard entries by keyword.
import time
import pyperclip
clipboard_history = []
def clipboard_tracker():
recent = ""
while True:
current = pyperclip.paste()
if current != recent and current.strip():
recent = current
clipboard_history.append(current)
print(f"Copied: {current[:40]}...")
time.sleep(1)
clipboard_tracker()
2. Wi-Fi Password Exporter to Encrypted File
Extract all saved Wi-Fi passwords and store them encrypted locally for safe backup and easy retrieval.
import subprocess, re, json, base64
def export_wifi_pwds(enc_file='wifi_pwds.enc'):
profiles = subprocess.check_output('netsh wlan show profiles', shell=True).decode()
names = re.findall("All User Profile\s*:\s(.*)", profiles)
credentials = {}
for name in names:
info = subprocess.check_output(f'netsh wlan show profile "{name.strip()}" key=clear', shell=True).decode()
pwd = re.search("Key Content\s*:\s(.*)", info)
credentials[name.strip()] = pwd.group(1) if pwd else None
encoded = base64.b64encode(json.dumps(credentials).encode())
with open(enc_file, 'wb') as f:
f.write(encoded)
print(f"Saved encrypted Wi-Fi credentials to {enc_file}")
export_wifi_pwds()
3. Screenshot Auto-Organizer with Cloud Sync
Sort screenshots by date and automatically sync new folders to your preferred cloud service folder (e.g., Google Drive).
import os, shutil
from datetime import datetime
def organize_screenshots(src, cloud_sync_dir):
files = [f for f in os.listdir(src) if "screenshot" in f.lower()]
for f in files:
date_folder = datetime.fromtimestamp(os.path.getctime(os.path.join(src, f))).strftime("%Y-%m-%d")
dest_folder = os.path.join(src, date_folder)
os.makedirs(dest_folder, exist_ok=True)
shutil.move(os.path.join(src, f), os.path.join(dest_folder, f))
shutil.copytree(dest_folder, os.path.join(cloud_sync_dir, date_folder), dirs_exist_ok=True)
print(f"Moved {f} and synced to cloud")
organize_screenshots('/path/to/screenshots', '/path/to/cloud-sync')
4. Desktop Clutter Organizer with File Type Sorting
Clean up desktop by moving files into subfolders by type (Images, Docs, Media, Others).
import os, shutil
def sort_desktop():
desktop = os.path.join(os.path.expanduser("~"), "Desktop")
types = {'Images': ['.png', '.jpg', '.jpeg', '.gif'], 'Docs': ['.pdf', '.docx', '.txt'], 'Media': ['.mp4', '.mp3']}
for f in os.listdir(desktop):
if os.path.isfile(os.path.join(desktop, f)):
ext = os.path.splitext(f)[1].lower()
category = next((k for k,v in types.items() if ext in v), 'Others')
dest = os.path.join(desktop, category)
os.makedirs(dest, exist_ok=True)
shutil.move(os.path.join(desktop, f), os.path.join(dest, f))
print(f"Moved {f} to {category}")
sort_desktop()
5. Offline Voice Command Launcher
Control your computer apps with custom voice commands, running completely offline.
import speech_recognition as sr
import os
def offline_voice_control():
recognizer = sr.Recognizer()
with sr.Microphone() as mic:
print("Say a command...")
audio = recognizer.listen(mic)
try:
command = recognizer.recognize_sphinx(audio) # offline recognition
print(f"Command: {command}")
if "open browser" in command:
os.system("start chrome")
elif "open editor" in command:
os.system("notepad")
except Exception as e:
print(f"Error: {e}")
offline_voice_control()
6. Contextual File Renamer Using ML Keyword Extraction
Rename files based on keyword extraction from content for smarter naming.
import os
from sklearn.feature_extraction.text import TfidfVectorizer
def rename_files_by_keywords(folder):
files = [f for f in os.listdir(folder) if f.endswith('.txt')]
contents = []
for file in files:
with open(os.path.join(folder, file)) as f:
contents.append(f.read())
vectorizer = TfidfVectorizer(stop_words='english', max_features=5)
X = vectorizer.fit_transform(contents)
keywords = vectorizer.get_feature_names_out()
for i, file in enumerate(files):
name = "_".join(keywords)
new_name = f"{name}_{i}.txt"
os.rename(os.path.join(folder, file), os.path.join(folder, new_name))
print(f"Renamed {file} to {new_name}")
rename_files_by_keywords('/path/to/text/files')
7. Battery Level Predictor with Charging Suggestions
Predict how long your battery will last and whether you should charge soon.
import psutil
import time
def predict_battery():
while True:
bat = psutil.sensors_battery()
if bat.power_plugged:
print("Charging... You can unplug soon.")
else:
time_left = (bat.percent / 100) * 180 # simplified: 3 hours at 100%
print(f"Battery at {bat.percent}%. Approx. {int(time_left)} minutes left.")
if bat.percent < 20:
print("⚠️ Warning: Charge soon!")
time.sleep(300)
predict_battery()
8. Personal Offline Grammar and Style Suggester
Use open-source language models locally to suggest grammar and style improvements without data leaving your machine.
(Requires advanced setup, example placeholder)
def offline_grammar_suggest(text):
# This is a placeholder for offline NLP grammar check integration
suggestions = ["Consider changing passive voice.", "Rewrite this sentence for clarity."]
print("Suggestions:")
for s in suggestions:
print("-", s)
offline_grammar_suggest("This are an example text.")
9. Real-Time SMS Expense Tracker with Alerts
Process exported SMS banking data and alert for unusual or high transactions.
import re
def alert_expenses(file):
with open(file) as f:
for line in f:
if "debited" in line.lower():
amount = re.findall(r'INR\s?[\d,]+', line)
if amount:
amt_val = int(amount[0].replace("INR ", "").replace(",", ""))
if amt_val > 10000:
print(f"High expense alert: {amount[0]} - {line.strip()}")
alert_expenses('bank_sms.txt')
10. Calendar Event Summaries via Email Digest
Automatically summarize upcoming meeting events daily and email you a digest.
from ics import Calendar
import smtplib
from email.mime.text import MIMEText
def send_event_digest(ics_file, recipient):
with open(ics_file) as f:
calendar = Calendar(f.read())
events = [f"{e.name} at {e.begin.humanize()}" for e in calendar.events]
body = "\n".join(events) or "No upcoming events."
msg = MIMEText(body)
msg['Subject'] = "Your Daily Meeting Digest"
msg['From'] = "you@example.com"
msg['To'] = recipient
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.login('you@example.com', 'password')
server.send_message(msg)
server.quit()
send_event_digest('calendar.ics', 'recipient@example.com')
11. Instant Local Web Photo Gallery with Custom Themes
Launch a quick local web gallery with selectable CSS themes for showcasing images.
import os
from http.server import SimpleHTTPRequestHandler, HTTPServer
def themed_gallery(folder, port=8000):
os.chdir(folder)
print(f"Serving {folder} at http://localhost:{port}")
HTTPServer(('localhost', port), SimpleHTTPRequestHandler).serve_forever()
themed_gallery('/path/to/photos')
12. Meeting Notes Summarizer with Action Items Extraction
Use keyword extraction to generate a list of action items from meeting notes.
from sklearn.feature_extraction.text import CountVectorizer
def extract_action_items(filepath):
with open(filepath) as f:
text = f.read()
vect = CountVectorizer(stop_words='english')
tokens = vect.fit_transform([text])
words = vect.get_feature_names_out()
actions = [word for word in words if word.startswith('action') or word.startswith('todo')]
print("Action items:", actions)
extract_action_items('meeting_notes.txt')
13. Scheduler for Automated Social Media Posts
Post to Twitter or Instagram at scheduled intervals using official APIs and Python wrappers.
import tweepy
from datetime import datetime, timedelta
import time
def schedule_tweet(text, delay_seconds=60):
client = tweepy.Client(bearer_token='YOUR_TOKEN')
time.sleep(delay_seconds)
client.create_tweet(text=text)
print("Tweet posted!")
schedule_tweet("Hello, automation!", 10)
14. Custom Web Scraper with Data Export to CSV
Scrape product listings and export them into CSV for easy import into spreadsheets.
import requests
from bs4 import BeautifulSoup
import csv
def scrape_products(url, csv_file):
r = requests.get(url)
soup = BeautifulSoup(r.text, 'html.parser')
products = []
for item in soup.select('.product'):
name = item.select_one('.name').text
price = item.select_one('.price').text
products.append([name, price])
with open(csv_file, 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Product Name', 'Price'])
writer.writerows(products)
print("Scraping complete!")
scrape_products('https://example.com/products', 'products.csv')
15. Intelligent Email Responder with Sentiment Analysis
Auto-respond to emails based on sentiment detected in the incoming message.
from textblob import TextBlob
def auto_reply(email_text):
sentiment = TextBlob(email_text).sentiment.polarity
if sentiment < -0.2:
reply = "Sorry to hear about your issues. We’ll get back to you ASAP."
else:
reply = "Thanks for reaching out! We appreciate your message."
print("Reply to send:", reply)
auto_reply("I'm very disappointed with the service.")
The 15 innovative Python scripts shared here are designed to solve real problems, from managing your clipboard history and organizing files to automating social media and extracting valuable insights from data. These practical tools can be customized to fit your workflow, helping you work smarter – not harder.
If you’re looking to level up your skills, start experimenting with these scripts today. The best part? Python automation grows with you – it’s easy to extend, adapt, and integrate into your projects.
For continuous updates, tips, and original scripts, stay tuned to funwithai.in. Your journey towards smarter, faster automation starts now.