分享

10 个杀手级的 Python 自动化脚本

 龙书意 2022-11-24 发布于江苏

超级无敌干货,第一时间送达!!!


图片

重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 100 张照片或 Fetch API、纠正拼写和语法等工作,所有这些任务都很耗时,为什么不自动化它们呢?在今天的文章中,我将与你分享 10 个 Python 自动化脚本。

所以,请你把这篇文章放在你的收藏清单上,以备不时之需,在IT行业里,程序员的学习永无止境……

现在,让我们开始吧。

01、 图片优化器

使用这个很棒的自动化脚本,可以帮助把图像处理的更好,你可以像在 Photoshop 中一样编辑它们。

该脚本使用流行的是 Pillow 模块

# Image Optimizing
# pip install Pillow
import PIL
# Croping 
im = PIL.Image.open('Image1.jpg')
im = im.crop((3423100100))
# Resizing
im = PIL.Image.open('Image1.jpg')
im = im.resize((5050))
# 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')

02、视频优化器

通过使用以下自动化脚本,你不仅可以使用 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(010)
vid2 = video.subclip(2040)
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 转图片

这个小型自动化脚本可以方便地获取整个 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')

04、获取 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:///post'
http = urllib3.PoolManager()
response = http.request('POST', url, fields={'hello''world'})
print(response.status)

05、电池指示灯

这个方便的脚本可以让你设置你想要得到通知的电池百分比,该脚本使用 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)

06、语法固定器

厌倦了校对你的长文章或文本,然后,你可以试试这个自动化脚本,它将扫描你的文本并纠正语法错误,这个很棒的脚本使用 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)

07、拼写修正

这个很棒的脚本将帮助你纠正你的文本单词拼写错误。你可以在下面找到脚本,将告诉你如何修复句子中的单个单词或多个单词。

# 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 下载照片或视频,但现在你可以使用 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')

09、获取世界新闻

使用此自动化脚本让你随时了解每日世界新闻,你可以使用任何语言从任何国家/地区获取新闻。这个 API 让你每天免费获取 50 篇新闻文章。

# World News Fetcher
# pip install requests
import requests
ApiKey = 'YOUR_API_KEY'
url = 'https://api./search-news?text=hurricane&api-key={ApiKey}'
headers = {
  'Accept''application/json'
}
response = requests.get(url, headers=headers)
print('News: ', response.json())

10、PySide2 GUI

这个自动化脚本将帮助你使用 PySide2 Gui 模块创建你的 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(500500)
# Set the Window Title
window.setWindowTitle('PySide2 Window')
# Add Buttons
button = QPushButton('Click Me', window)
button.move(200200)
# Add Label Text
label = QLabel('Hello Medium', window)
label.move(200150)
# Add Input Box
input_box = QLineEdit(window)
input_box.move(200250)
print(input_box.text())
# Add Radio Buttons
radio_button = QRadioButton('Radio Button', window)
radio_button.move(200300)
# Add Checkbox
checkbox = QCheckBox('Checkbox', window)
checkbox.move(200350)
# Add Slider
slider = QSlider(window)
slider.move(200400)
# Add Progress Bar
progress_bar = QProgressBar(window)
progress_bar.move(200450)
# 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())

好了,这就是今天分享的全部内容,喜欢就点个吧~

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约