Repetitive tasks are always time-consuming and boring. Think about wanting to crop 100 photos one by one, or tasks like fetching APIs, correcting spelling and grammar—all of these tasks take a lot of time. Why not automate them? In today’s article, I will share with you 10 Python automation scripts.
So, please save this article to your collection list for future reference. In the IT industry, a programmer’s learning never ends…
Now, let’s get started.
#01 Image Optimizer
Using this fantastic automation script can help improve image processing. You can edit images just like in Photoshop.
This script uses the popular Pillow module.
Image Optimizing
pip install Pillow
import PIL
Cropping
im = PIL.Image.open(“Image1.jpg”)
im = im.crop((34, 23, 100, 100))
Resizing
im = PIL.Image.open(“Image1.jpg”)
im = im.resize((50, 50))
Flipping
im = PIL.Image.open(“Image1.jpg”)
im = im.transpose(PIL.Image.FLIP_LEFT_RIGHT)
Rotating
im = PIL.Image.open(“Image1.jpg”)
im = im.rotate(360)
Compressing
im = PIL.Image.open(“Image1.jpg”)
im.save(“Image1.jpg”, optimize=True, quality=90)
Blurring
im = PIL.Image.open(“Image1.jpg”)
im = im.filter(PIL.ImageFilter.BLUR)
Sharpening
im = PIL.Image.open(“Image1.jpg”)
im = im.filter(PIL.ImageFilter.SHARPEN)
Set Brightness
im = PIL.Image.open(“Image1.jpg”)
im = PIL.ImageEnhance.Brightness(im)
im = im.enhance(1.5)
Set Contrast
im = PIL.Image.open(“Image1.jpg”)
im = PIL.ImageEnhance.Contrast(im)
im = im.enhance(1.5)
Adding Filters
im = PIL.Image.open(“Image1.jpg”)
im = PIL.ImageOps.grayscale(im)
im = PIL.ImageOps.invert(im)
im = PIL.ImageOps.posterize(im, 4)
Saving
im.save(“Image1.jpg”)
#02 Video Optimizer
By using the following automation script, you can not only use Python to optimize videos but also images. This script uses the Moviepy module, which allows you to trim, add audio, set video speed, add VFX, and more.
Video Optimizer
pip install moviepy
import moviepy.editor as pyedit
Load the Video
video = pyedit.VideoFileClip(“vid.mp4”)
Trimming
vid1 = video.subclip(0, 10)
vid2 = video.subclip(20, 40)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
Speed up the video
final_vid = final_vid.speedx(2)
Adding Audio to the video
aud = pyedit.AudioFileClip(“bg.mp3”)
final_vid = final_vid.set_audio(aud)
Reverse the Video
final_vid = final_vid.fx(pyedit.vfx.time_mirror)
Merge two videos
vid1 = pyedit.VideoFileClip(“vid1.mp4”)
vid2 = pyedit.VideoFileClip(“vid2.mp4”)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
Add VFX to Video
vid1 = final_vid.fx(pyedit.vfx.mirror_x)
vid2 = final_vid.fx(pyedit.vfx.invert_colors)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
Add Images to Video
img1 = pyedit.ImageClip(“img1.jpg”)
img2 = pyedit.ImageClip(“img2.jpg”)
final_vid = pyedit.concatenate_videoclips([img1, img2])
Save the video
final_vid.write_videofile(“final.mp4”)
#03 PDF to Images
This small automation script conveniently takes entire PDF pages and converts them into images. The script uses the popular PyMuPDF module, known for its PDF text extraction.
PDF to Images
pip install PyMuPDF
import fitz
def pdf_to_images(pdf_file):
doc = fitz.open(pdf_file)
for p in doc:
pix = p.get_pixmap()
output = f”page{p.number}.png”
pix.writePNG(output)
pdf_to_images(“test.pdf”)
#04 Fetch API Data
Need to fetch API data from a database or send API requests to a server? Then this automation script is a handy tool for you. Using the Urllib3 module, it allows you to fetch and post API requests.
pip install urllib3
import urllib3
Fetch API data
url = “https://api.github.com/users/psf/repos”
http = urllib3.PoolManager()
response = http.request(‘GET’, url)
print(response.status)
print(response.data)
Post API data
url = “https://httpbin.org/post”
http = urllib3.PoolManager()
response = http.request(‘POST’, url, fields={‘hello’: ‘world’})
print(response.status)
#05 Battery Notifier
This handy script allows you to set the battery percentage at which you want to be notified. The script uses Pyler for notifications and Psutil to get the current battery percentage.
Battery Notifier
pip install plyer
from plyer import notification
import psutil
from time import sleep
while True:
battery = psutil.sensors_battery()
life = battery.percent
if life < 50:
notification.notify(
title = “Battery Low”,
message = “Please connect to power source”,
timeout = 10
)
sleep(60)
#06 Grammar Fixer
Tired of proofreading your long articles or texts? Then, you can try this automation script, which will scan your text and correct grammatical errors. This fantastic script uses the Happytransformer module, a machine learning module trained to fix grammatical errors in text.
Grammar Fixer
pip install happytransformer
from happytransformer import HappyTextToText as HappyTTT
from happytransformer import TTSettings
def Grammar_Fixer(Text):
Grammar = HappyTTT(“T5″,”prithivida/grammar_error_correcter_v1”)
config = TTSettings(do_sample=True, top_k=10, max_length=100)
corrected = Grammar.generate_text(Text, args=config)
print(“Corrected Text: “, corrected.text)
Text = “This is smple tet we how know this”
Grammar_Fixer(Text)
#07 Spell Fixer
This fantastic script will help you correct spelling mistakes in your text words. Below, you can find the script that shows how to fix single words or multiple words in a sentence.
Spell Fixer
pip install textblob
from textblob import *
Fixing Paragraph Spells
def fix_paragraph_words(paragraph):
sentence = TextBlob(paragraph)
correction = sentence.correct()
print(correction)
Fixing Words Spells
def fix_word_spell(word):
word = Word(word)
correction = word.correct()
print(correction)
fix_paragraph_words(“This is sammple tet!!”)
fix_word_spell(“maangoo”)
#08 Internet Downloader
You might use download software to download photos or videos from the Internet, but now you can create your own downloader using the Python IDM module.
Python Downloader
pip install internetdownloadmanager
import internetdownloadmanager as idm
def Downloader(url, output):
pydownloader = idm.Downloader(worker=20,
part_size=1024102410,
resumable=True,)
textCopy Codepydownloader .download(url, output)
Downloader(“Link url”, “image.jpg”)
Downloader(“Link url”, “video.mp4”)
#09 Get World News
Use this automation script to keep yourself updated with daily world news. You can fetch news in any language from any country. This API allows you to get 50 news articles for free daily.
World News Fetcher
pip install requests
import requests
ApiKey = “YOUR_API_KEY”
url = “https://api.worldnewsapi.com/search-news?text=hurricane&api-key={ApiKey}”
headers = {
‘Accept’: ‘application/json’
}
response = requests.get(url, headers=headers)
print(“News: “, response.json())
#10 PySide2 GUI
This automation script will help you create your GUI application using the PySide2 GUI module. Below, you can find every method needed to start developing decent modern applications.
PySide 2
pip install PySide2
from PySide6.QtWidgets import *
from PySide6.QtGui import *
import sys
app = QApplication(sys.argv)
window = QWidget()
Resize the Window
window.resize(500, 500)
Set the Window Title
window.setWindowTitle(“PySide2 Window”)
Add Buttons
button = QPushButton(“Click Me”, window)
button.move(200, 200)
Add Label Text
label = QLabel(“Hello Medium”, window)
label.move(200, 150)
Add Input Box
input_box = QLineEdit(window)
input_box.move(200, 250)
print(input_box.text())
Add Radio Buttons
radio_button = QRadioButton(“Radio Button”, window)
radio_button.move(200, 300)
Add Checkbox
checkbox = QCheckBox(“Checkbox”, window)
checkbox.move(200, 350)
Add Slider
slider = QSlider(window)
slider.move(200, 400)
Add Progress Bar
progress_bar = QProgressBar(window)
progress_bar.move(200, 450)
Add Image
image = QLabel(window)
image.setPixmap(QPixmap(“image.png”))
Add Message Box
msg = QMessageBox(window)
msg.setText(“Message Box”)
msg.setStandardButtons(QMessageBox.Ok | QMessageBox.Cancel)
window.show()
sys.exit(app.exec())