page contents

分享几个 Python 自动脚本

本文讲述了几个python 自动脚本!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

attachments-2024-01-kDxqxbdY65b0a86ed85a8.jpg本文讲述了几个python 自动脚本!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

你是否厌倦了花费无数小时来处理讨厌的垃圾文件和重复性任务?

其实你可以舒舒服服的坐下来,放松心情,看着 Python 为你完成你的工作。

在这篇文章中,我们将探讨一些 Python 自动化脚本,帮助你优化日常任务,节省宝贵的时间。

以下是一些有趣的例子,展示如何使用这些Python自动化脚本来自动化你的琐碎任务:

1,图像优化

只需一键,这个 Python 自动化脚本就能让你轻松地像专业人士一样优化和操纵你的图片,无需昂贵的软件或复杂的编辑工具。

该脚本利用了流行的 Pillow 模块来优化图像。它使用 Python Imaging Library (PIL) 来裁剪、调整大小、翻转、旋转、压缩、模糊、锐化、调整亮度、对比度,并向图像添加滤镜。

# 图像优化
from PIL import Image, ImageFilter, ImageOps, ImageEnhance
# 加载图像
im = Image.open("Image1.jpg")
# 裁剪图像
im = im.crop((34, 23, 100, 100))
# 调整图像大小
im = im.resize((50, 50))
# 水平翻转图像
im = im.transpose(Image.FLIP_LEFT_RIGHT)
# 旋转图像360
im = im.rotate(360)
# 压缩图像
im.save("Image1.jpg", optimize=True, quality=90)
# 应用模糊效果
im = im.filter(ImageFilter.BLUR)
# 应用锐化效果
im = im.filter(ImageFilter.SHARPEN)
# 调整亮度
enhancer = ImageEnhance.Brightness(im)
im = enhancer.enhance(1.5)

# 调整对比度
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(1.5)
# 添加滤镜
im = ImageOps.grayscale(im)
im = ImageOps.invert(im)
im = ImageOps.posterize(im, 4)

# 保存优化后的图像
im.save("Image1.jpg")

2,视频优化

这个脚本可用于压缩视频以节省存储空间或传输,或者用于改善视频质量。

该脚本利用了 Moviepy 模块通过剪辑、改变速度、添加音频以及应用视觉效果(VFX)来优化视频。

它使用moviepy库来剪辑、加速、添加音频、倒转、合并、添加VFX以及向视频中添加图像。

# 视频优化器
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])

# 为视频添加VFX
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")

3,定时发送邮件

这是一个强大的Python自动化脚本,可以让你在特定时间自动安排和发送电子邮件。借助这个脚本,你可以告别手动发送电子邮件。

该脚本允许你在特定时间自动安排和发送电子邮件,使用了 smtplib schedule 模块。

# 电子邮件定时发送器
import smtplib
import schedule
import time

def send_email():
    sender_email = "your_email@gmail.com"
    receiver_email = "recipient_email@gmail.com"
    password = "your_email_password"

    subject = "自动化邮件"
    body = "这是使用Python发送的自动化邮件。"

    message = f"Subject: {subject}\n\n{body}"

    with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
        server.login(sender_email, password)
        server.sendmail(sender_email, receiver_email, message)

# 定时每天早上8点发送邮件
schedule.every().day.at("08:00").do(send_email)

while True:
    schedule.run_pending()
    time.sleep(1)

4,将PDF转换为图像

PDF 转换为图像是各行业中常见的任务,从文档处理到图形设计都有涉及。有时你可能需要从 PDF 中提取单个页面,或将整个文档转换为图像格式以进行进一步的处理或显示。

该脚本使用 PyMuPD F模块轻松将 PDF 页面转换为图像。

# PDF转换为图像
import fitz

def pdf_to_images(pdf_file):
    doc = fitz.open(pdf_file)
    for page in doc:
        pix = page.get_pixmap()
        output = f"page{page.number}.png"
        pix.writePNG(output)

pdf_to_images("test.pdf")

5,获取 API 数据

在当今数字时代,我们依赖各种网络服务来获取有价值的信息,但手动获取数据可能会耗费时间。该脚本演示了如何使用urllib3模块执行GETPOST请求来获取API数据。

# 获取API数据
import urllib3

# 使用GET请求获取API数据
url = "https://api.github.com/users/psf/repos"
http = urllib3.PoolManager()
response = http.request('GET', url)
print("状态码:", response.status)
print("响应数据:", response.data)

# 使用POST请求发布API数据
url = "https://httpbin.org/post"
http = urllib3.PoolManager()
response = http.request('POST', url, fields={'hello': 'world'})
print("状态码:", response.status)

6,电池指示

这个脚本可以确保在涉及设备电池寿命时你永远不会错过任何重要信息。

使用这个方便的工具,你可以设置一个特定的电池百分比阈值,脚本将密切关注你电池的电量。

该脚本使用 plyer psutil 模块,在电池百分比较低时通知用户。

# 电池通知器
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="电池低电量",
            message="请连接电源",
            timeout=10
        )
    sleep(50)

7,使用Pytest进行自动化测试

自动化测试是现代软件开发的关键方面,它使开发人员能够验证其代码、捕获错误并确保应用程序的可靠性。在 Python 领域,有一个强大且用户友好的测试框架脱颖而出:Pytest

该脚本演示了如何使用pytest框架执行自动化测试以测试Python代码。

# 使用Pytest进行自动化测试
import pytest

# 待测试的函数
def add_numbers(x, y):
    return x + y

# 函数的测试用例
def test_addition():
    assert add_numbers(1, 2) == 3
    assert add_numbers(-1, 1) == 0
    assert add_numbers(0, 0) == 0
    assert add_numbers(10, 5) == 15

if __name__ == "__main__":
    pytest.main()

8,文件备份与同步

文件备份与同步脚本是一个强大的 Python 自动化工具,旨在简化文件管理并确保文件的安全性。

这个脚本提供了一个简单而有效的解决方案。该脚本会自动备份和同步两个目录之间的文件,确保两个位置具有相同的内容。

# 文件备份与同步脚本
import os
import shutil

def backup_and_sync(source_folder, backup_folder):
    for root, _, files in os.walk(source_folder):
        for file in files:
            source_path = os.path.join(root, file)
            backup_path = os.path.join(backup_folder, root.replace(source_folder, ""), file)

            # 如果备份文件夹中的目录不存在,则创建
            os.makedirs(os.path.dirname(backup_path), exist_ok=True)

            # 将文件复制到备份文件夹
            shutil.copy2(source_path, backup_path)

    # 删除备份文件夹中在源文件夹中不存在的文件
    for root, _, files in os.walk(backup_folder):
        for file in files:
            backup_path = os.path.join(root, file)
            source_path = os.path.join(source_folder, root.replace(backup_folder, ""), file)

            if not os.path.exists(source_path):
                os.remove(backup_path)

source_folder = "path/to/source/folder"
backup_folder = "path/to/backup/folder"

backup_and_sync(source_folder, backup_folder)

OK,以上。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-01-24 14:05
  • 阅读 ( 213 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章