重复的任务总是耗费时间和枯燥的。想象一下,逐一裁剪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())
-
好了,今天的分享就到这里。如果你喜欢它,请给它一个赞~。