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

2023-10-29

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

重复的任务总是耗费时间和枯燥的。想象一下,逐一裁剪100张照片,或者做诸如Fetching APIs、纠正拼写和语法等任务,所有这些都需要大量的时间。为什么不把它们自动化呢?在今天的文章中,我将与你分享10个Python自动化脚本。

所以,请把这篇文章保留在你的书签里,供以后参考。在IT行业,程序员永远不会停止学习......

现在,让我们开始吧。

01、图像优化器

这个伟大的自动化脚本可以帮助你更好地处理图片,你可以像在Photoshop中一样编辑它们。

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

# 图像优化
# pip install Pillow
import PIL
# 裁剪 
im = PIL.Image.open("Image1.jpg")
im = im.crop((34, 23, 100, 100))
# 调整大小
im = PIL.Image.open("Image1.jpg")
im = im.resize((50, 50))
# 翻转
im = PIL.Image.open("Image1.jpg")
im = im.transpose(PIL.Image.FLIP_LEFT_RIGHT)
# 旋转
im = PIL.Image.open("Image1.jpg")
im = im.rotate(360)
# 压缩
im = PIL.Image.open("Image1.jpg")
im.save("Image1.jpg", optimize=True, quality=90)
# 模糊化
im = PIL.Image.open("Image1.jpg")
im = im.filter(PIL.ImageFilter.BLUR)
# 锐化
im = PIL.Image.open("Image1.jpg")
im = im.filter(PIL.ImageFilter.SHARPEN)
# 设置亮度
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageEnhance.Brightness(im)
im = im.enhance(1.5)
# 设置对比度
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageEnhance.Contrast(im)
im = im.enhance(1.5)
# 添加过滤器
im = PIL.Image.open("Image1.jpg")
im = PIL.ImageOps.grayscale(im)
im = PIL.ImageOps.invert(im)
im = PIL.ImageOps. posterize(im, 4)
# 保存
im.save("Image1.jpg")

02、视频优化器

通过下面的自动化脚本,你不仅可以用Python来优化视频,还可以用它来优化图像。该脚本使用Moviepy模块,它允许你修剪、添加音频、设置视频速度、添加VFX等。


# 视频优化器
# pip install moviepy
import moviepy.editor as pyedit
# 加载视频
video = pyedit.VideoFileClip("vid.mp4")
# 修剪
vid1 = video.subclip(0, 10)
vid2 = video.subclip(20, 40)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 加快视频的速度
final_vid = final_vid.speedx(2)
# 在视频中添加音频
aud = pyedit.AudioFileClip("bg.mp3")
final_vid = final_vid.set_audio(aud)
# 反转视频
final_vid = final_vid.fx(pyedit.vfx.time_mirror)
# 合并两个视频
vid1 = pyedit.VideoFileClip("vid1.mp4")
vid2 = pyedit.VideoFileClip("vid2.mp4")
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 在视频中添加视觉特效
vid1 = final_vid.fx(pyedit.vfx.mirror_x)
vid2 = final_vid.fx(pyedit.vfx.invert_colors)
final_vid = pyedit.concatenate_videoclips([vid1, vid2])
# 在视频中添加图像
img1 = pyedit.ImageClip("img1.jpg")
img2 = pyedit.ImageClip("img2.jpg")
final_vid = pyedit.concatenate_videoclips([img1, img2])
# 保存视频
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请求,这个自动化脚本是你的一个便利工具。使用Urlib3模块,你可以获取和发布API请求。

# pip install urllib3
输入urllib3
# 获取API数据
url = "https://api.github.com/users/psf/repos"
http = urllib3.PoolManager()
response = http.request('GET', url)
print(response.status)
print(response.data)
# 发布API数据
url = "https://httpbin.org/post"
http = urllib3.PoolManager()
response = http.request('POST', url, fields={'hello''world'})
print(response.status)

05、电池指示灯

这个方便的脚本允许你设置你想接收通知的电池百分比。该脚本使用Pyler进行通知,并使用Psutil来获取当前的电池百分比。


# 电池通知器
# 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、拼写纠正

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


# 拼写修正器
# pip 安装 textblob
# pip install textblob
from textblob import *
def fix_paragraph_words(paragraph):
    sentence = TextBlob(paragraph)
    correction = sentence.correct()
    print(correction)
# 修复字词拼写
def fix_word_spell(word):
    word = Word(word)
    更正 = word.correct()
    print(correction)
fix_paragraph_words("this is sammple tet!!")
fix_word_spell("maangoo")

08、互联网下载器

你可能使用下载软件从互联网上下载照片或视频,但现在你可以使用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条新闻。

# 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

这个自动化脚本将帮助你使用PySide2 Gui模块创建你的GUI应用程序。你可以在下面找到开始开发现代应用程序的前端所需的每一种方法。


# PySide2 
# pip install PySide2
from PySide6.QtWidgets import *
from PySide6.QtGui import *
app = QApplication(sys.argv)
window = QWidget()
# 调整窗口的大小
window.resize(500, 500)
# 设置窗口标题
window.setWindowTitle("PySide2 Window")
# 添加按钮
button = QPushButton("Click Me", window)
button.move(200, 200)
# 添加标签文本
label = QLabel("Hello Medium", window)
label.move(200, 150)
# 添加输入框
input_box = QLineEdit(window)
input_box.move(200, 250)
print(input_box.text())
# 添加单选按钮
radio_button = QRadioButton("Radio Button", window)
radio_button.move(200, 300)
# 添加复选框
checkbox = QCheckBox("Checkbox", window)
checkbox.move(200, 350)
# 添加滑块
slider = QSlider(window)
slider.move(200, 400)
# 添加进度条
progress_bar = QProgressBar(window)
progress_bar.move(200, 450)
# 添加图片 
image = QLabel(window)
image.setPixmap(QPixmap("image.png"))
# 添加消息框
msg = QMessageBox(window)
msg.setText("Message Box")
msg.setStandardButtons(QMessageBox.OK | QMessageBox.Cancel)
window.show()
sys.exit(app.exec())

好了,今天的分享就到这里。如果你喜欢它,请给它一个赞~。

本文由 mdnice 多平台发布

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

10个杀手级应用的Python自动化脚本 的相关文章

随机推荐

  • 有哪些好用的设计图工具?

    设计图纸制作软件是高级学习数字设计的最佳选择 无论你是想通过设计图纸制作软件创建一个明亮的设计 还是与其他设计师分享和交流 本文将介绍十个易于使用的设计图纸制作软件 其中大多数是初学者和高级艺术家 具有完整的绘图 照片编辑和小图形设计项目功
  • jmeter 安装_JMeter安装教程

    一 安装JMeter之前我们需要下载Java的jdk Java软件开发工具包 这是因为JMeter软件是由Java代码100 开发的 Java代码要运行必须依托于JVM Java虚拟机 因此JMeter如果要运行也必须要在有JVM环境的系统
  • STM32学习记录 中断

    STM32 中断非常强大 每个外设都可以产生中断 中断类型有 系统异常 外部中断 NVIC 嵌套向量中断控制器 属于内核外设 管理着包括内核和片上所有外设的中断相关的功能 两个重要的库文件 core cm3 h和misc h 中断编程的顺序
  • C语言文件操作详解

    目录 前言 一 文本数据和二进制数据 文本数据 二进制数据 文本文件和二进制文件 二 文件的打开和关闭 文件指针 打开文件 小细节 关闭文件 举个例子 注意事项 三 文本文件的读写 向文件中写入数据 举个例子 运行效果 从文件中读取数据 举
  • 什么是黑盒测试,和白盒测试的区别有哪些?

    软件测试是软件工程中的一个非常重要的环节 是开发项目整体的一部分 是伴随软件工程的诞生而诞生的 但软件测试不是万能的 不可能发现全部缺陷 其中 黑盒测试和白盒测试是两种不同类型的软件测试策略 它们具有同样强大的功能 白盒测试和黑盒测试往往不
  • 浅谈Android版本更新

    关于本文DownloadManager版本更新的源码链接详见我的开源项目AppUpdate 前言 版本升级对于app来讲已经是非常常见的功能了 每次项目的版本迭代 新功能的开发都需要下载更新新版本 通过安装新版本来实现我们的迭代 当然除了这
  • 图解Redis中的9种数据结构

    如图所示 Redis中提供了9种不同的数据操作类型 他们分别代表了不同的数据存储结构 图2 17 数据类型 String类型 String类型是Redis用的较多的一个基本类型 也是最简单的一种类型 它和我们在Java中使用的字符类型什么太
  • Quartz学习总结之核心接口Scheduler、Job

    参考文章 https www cnblogs com mengrennwpu p 7141986 html 核心接口如下 接口 含义 Scheduler scheduler的主要API接口 Job 任务实现接口 期望调度器能够执行 JobD
  • c++ oop构造函数与拷贝控制

    class Quote public Quote int x x x 如果我们删除的是一个指向派生类对象的基类指针 则需要虚析构函数 virtual Quote default 动态绑定析构函数 int x virtual void sho
  • [YOLO专题-18]:YOLO V5 - ultralytics代码解析-总体架构

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122356975 目录 第1章 YOL
  • 多线程进阶

    同步与互斥 什么是同步 有序性 完整性 原子性 什么是互斥 什么是临界区 可以限制线程并发访问共享资源 达到同步与互斥目的的程序片段 阻隔线程 排斥线程 同步代码块 格式示例 使用说明 同步方法 使用格式 使用解释 示例代码 释放同步监视器
  • 03C++11多线程编程之测试join,detach传各种实参时形参的拷贝次数

    03C 11多线程编程之测试join detach传各种实参时形参的拷贝次数 首先我们看下面的总结测试图 然后一步步的测试 1 这里我们先测试join传实参的类型 当实参为普通对象时 1 当形参为普通对象时 拷贝了两次 2 当形参为引用时
  • 计算机二级python(本人整理的所有含答案操作题)

    全国计算机二级 本人整理的所有操作题 包括答案 直接上链接 有道云笔记 喜欢的可以直接下载 本人复习了三天 看了视频 把所有解题记了一遍 直接过了 https note youdao com ynoteshare index html id
  • 机器学习常识 17: 多标签学习

    摘要 多标签学习从标签个数上来扩展数据模型 进一步还有标签分布学习 1 基本概念 多标签学习在 机器学习常识 3 分类 回归 聚类 中简单提到过 这里列举出几个相关概念 一起来讨论下 将训练数据的标签表示为 Y mathbf Y Y 二分类
  • idea搜索不到free mybatis plugins

    作者Gitee主页说明 换行业 不再维护 Jb market也提交了下架 下面有一个peer move and update插件 地址是 https github com chuntungho free mybatis plugins 或者
  • Google登录授权详细过程

    前言 这篇文章包含了google登录授权从API创建 到使用Java代码完成登录的一个完整demo 主要为了实现google关联用户的服务 如google merchant center等 如果仅仅需要使用google邮箱登录 建议由前端实
  • 10个统计分析方法

    为什么要学习统计学习 首先 为了知道如何以及何时使用各种分析方法 理解各种分析方法背后的思想很重要 要想掌握更精巧复杂的方法 你必须先理解较简单的方法 其次 当你想准确地评估一种分析方法的效果时 你得知道其运行的多好或者多么不好 第三 这是
  • Spring Boot引起的“堆外内存泄漏”排查及经验总结

    背景 为了更好地实现对项目的管理 我们将组内一个项目迁移到MDP框架 基于Spring Boot 随后我们就发现系统会频繁报出Swap区域使用量过高的异常 笔者被叫去帮忙查看原因 发现配置了4G堆内内存 但是实际使用的物理内存竟然高达7G
  • 7.1 超级账本

    Matthew Hancock Ed Vaizey以及Linux基金会执行董事Jim Zemlin都认为区块链技术和分布式账本这两个概念是可以互换的 通过分布式账本 几乎任何有价值的东西都可以被跟踪和交易 Jim Zemlin认为 分布式账
  • 10个杀手级应用的Python自动化脚本

    10个杀手级应用的Python自动化脚本 重复的任务总是耗费时间和枯燥的 想象一下 逐一裁剪100张照片 或者做诸如Fetching APIs 纠正拼写和语法等任务 所有这些都需要大量的时间 为什么不把它们自动化呢 在今天的文章中 我将与你