Repetitive tasks are always time consuming and boring, think you want to crop 100 photos one by one or Fetch API, correct spelling and grammar etc, all these tasks are time consuming, why not automate What about them? In today’s article, I will share with you 10 Python automation scripts.
So, please put this article on your favorites list, in case you need it, in the IT industry, the learning of programmers is never-ending…
Now, let’s get started.
01. Image optimizer
Use this awesome automation script to help make your images even better, and you can edit them just like you would in Photoshop.
The script uses the popular Pillow module
# Image Optimizing # pip install Pillow import PIL #Croping 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 use Python not only to optimize video, but also to optimize images. The script uses the Moviepy module, allowing 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 image
This small automated script conveniently takes entire PDF pages and converts them to 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. Get API data
API data needs to be fetched from the database or an API request needs to be sent to the server. Then this automation script is a handy tool for you. Use the Urllib3 module, which allows you to make 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 indicator
This handy script lets you set the battery percentage you want to be notified about. 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 automated script that will scan your text and correct grammatical errors, this awesome script uses the Happtransformer module, which is a machine learning module that is trained to Fix grammatical errors in the text.
# Grammer Fixer # pip install happytransformer from happytransformer import HappyTextToText as HappyTTT from happytransformer import TTSettings def Grammer_Fixer(Text): Grammer = HappyTTT("T5","prithivida/grammar_error_correcter_v1") config = TTSettings(do_sample=True, top_k=10, max_length=100) corrected = Grammer. generate_text(Text, args=config) print("Corrected Text: ", corrected.text) Text = "This is simple tet we how know this" Grammer_Fixer (Text)
07, spelling correction
This awesome script will help you correct misspelled words in your text. Below you can find the script that will tell you how to fix a single word 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 sample tet!!") fix_word_spell("maangoo")
08, Internet downloader
You probably 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 internet download manager as idm def Downloader(url, output): pydownloader = idm.Downloader(worker=20, part_size=1024*1024*10, resumable=True,) pydownloader.download(url, output) Downloader("Link url", "image.jpg") Downloader("Link url", "video.mp4")
09. Get world news
Use this automated script to keep you updated with daily world news, you can get news from any country in any language. This API gives you free access to 50 news articles per day.
#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 applications using the PySide2 Gui module. Below you can find every method you need to start developing decent modern apps.
# 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())
If my sharing is helpful to you, please help forward and pay attention to it <strong>---END---</strong>