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


    重复性任务总是耗时且无聊,想一想你想要一张一张地裁剪 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((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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    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(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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30

    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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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://httpbin.org/post"
    http = urllib3.PoolManager()
    response = http.request('POST', url, fields={'hello': 'world'})
    print(response.status)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    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")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    09、获取世界新闻

    使用此自动化脚本让你随时了解每日世界新闻,你可以使用任何语言从任何国家/地区获取新闻。这个 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())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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(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())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

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

    关于Python的技术储备

    在这里给大家分享一些免费的课程供大家学习,下面是课程里面的截图,扫描最下方的二维码就能全部领取

    1.Python所有方向的学习路线

    在这里插入图片描述

    2.学习软件

    工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
    在这里插入图片描述

    3.学习资料

    在这里插入图片描述

    4.实战资料

    实践是检验真理的唯一标准。这里的压缩包可以让你再闲暇之余帮你提升你的个人能力。
    在这里插入图片描述

    5.视频课程

    在这里插入图片描述

    好啦今天的分享就到这里结束了,快乐的时光总是短暂呢,想学习更多课程的小伙伴不要着急,有更多惊喜哦~​

  • 相关阅读:
    神经网络梯度是什么意思,卷积神经网络梯度下降
    前端三件套 HTML+CSS+JS基础知识内容笔记
    jmeter性能优化之mysql监控sql慢查询语句分析
    护眼灯对眼睛有好处吗?盘点眼科专家推荐的护眼台灯
    Mysql数据库指定某数据库或某表赋予增删改查操作权限各类划分权限的方法总结实战
    注册页面对数据进行校验,Ajax的使用-数据唯一性
    Pycharm远程连接服务器不能debug问题
    大型机械加工厂穿什么劳保鞋比较好,资深从业人员表示跟着我选不出错
    武汉高性能计算大会2022举办,高性能计算生态发展再添新动力
    GD32F470引脚外部中断测试
  • 原文地址:https://blog.csdn.net/z099164/article/details/128040456