10 корисних скриптів для автоматизації на Python
У блозі Python Data Development запропонували десять скриптів для автоматизації на Python. Пропонуємо ознайомитися з перекладом підбірки та обрати скрипти для вашого розробницького арсеналу. Далі — слово авторам блогу.
Повторювані завдання завжди забирають багато часу і є нудними. Уявіть, що вам потрібно обрізати 100 фотографій одну за одною або виконувати такі задачі, як отримання API, виправлення орфографії та граматики тощо. Все це забирає багато часу.
Чому б не автоматизувати їх? Отже, давайте почнемо.
Оптимізатор зображень
Цей чудовий скрипт автоматизації допоможе вам краще обробляти зображення і редагувати їх так само, як у Photoshop.
Скрипт використовує популярний модуль Pillow.
# 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)
# Bluring
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")
Оптимізатор відео
За допомогою наведеного нижче скрипта автоматизації ви можете використовувати Python не лише для оптимізації відео, але й для оптимізації зображень. Скрипт використовує модуль Moviepy, який дозволяє обрізати, додати аудіо, встановити швидкість відео, додати VFX тощо.
# 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")
Конвертувати PDF в зображення
Цей невеликий автоматизований скрипт може легко витягувати цілі PDF-сторінки і перетворювати їх на зображення. Скрипт використовує популярний модуль PyMuPDF, який відомий тим, що витягує текст з PDF-файлів.
# 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")
Отримати дані API
Якщо вам потрібно отримати API-дані з бази даних або відправити API-запит на сервер, цей скрипт автоматизації стане для вас зручним інструментом. За допомогою модуля Urllib3 ви можете отримувати і відправляти API запити.
# 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)
Індикатор заряду акумулятора
Цей зручний скрипт дозволяє встановити відсоток заряду батареї, при якому ви хочете отримувати сповіщення. Скрипт використовує Pyler для сповіщень і Psutil для отримання поточного відсотка заряду батареї.
# Battery Notifier
# pip instal 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)
Виправлення граматики
Втомилися вичитувати довгі статті чи тексти? Тоді ви можете спробувати цей автоматизований скрипт, який просканує ваш текст і виправить граматичні помилки.
Цей чудовий скрипт використовує Happtransformer, який є модулем машинного навчання, що вміє виправляти граматичні помилки в тексті.
# 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 smple tet we how know this"
Grammer_Fixer(Text)
Виправлення орфографії
Цей скрипт допоможе вам виправити орфографічні помилки в словах тексту. Нижче ви можете знайти скрипт, який розповість вам, як виправити одне або кілька слів у реченні.
# 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")
Завантажувач
Ви можете використовувати програми для завантаження фотографій або відео з інтернету, але тепер ви можете створити власний завантажувач за допомогою модуля Python IDM.
# Python Downloader
# pip install internetdownloadmanager
import internetdownloadmanager 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")
Отримуйте світові новини
Використовуйте цей автоматизований скрипт, щоб бути в курсі щоденних світових новин в будь-який час, будь-якою мовою з будь-якої країни/регіону. Цей API дозволяє безкоштовно отримувати 50 новин щодня.
# 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())
PySide2 GUI
Цей автоматизований скрипт допоможе вам створити додаток з графічним інтерфейсом за допомогою модуля PySide2 Gui. Нижче ви знайдете всі методи, необхідні для того, щоб почати розробку інтерфейсу сучасних додатків.
# 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())
На сьогодні все!
Favbet Tech – це ІТ-компанія зі 100% украінською ДНК, що створює досконалі сервіси для iGaming і Betting з використанням передових технологіи та надає доступ до них. Favbet Tech розробляє інноваційне програмне забезпечення через складну багатокомпонентну платформу, яка здатна витримувати величезні навантаження та створювати унікальний досвід для гравців.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: