永洪社区

标题: 分享几个 Python 自动脚本 [打印本页]

作者: 喝酸奶不舔盖    时间: 2024-7-16 11:12
标题: 分享几个 Python 自动脚本
本帖最后由 喝酸奶不舔盖 于 2024-7-16 11:14 编辑

今天分享几个 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])# 为视频添加VFXvid1 = 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 smtplibimport scheduleimport timedef 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 fitzdef 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模块执行GET和POST请求来获取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 notificationimport psutilfrom time import sleepwhile 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) == 15if __name__ == "__main__":    pytest.main()

8,文件备份与同步
文件备份与同步脚本是一个强大的 Python 自动化工具,旨在简化文件管理并确保文件的安全性。
这个脚本提供了一个简单而有效的解决方案。该脚本会自动备份和同步两个目录之间的文件,确保两个位置具有相同的内容。
# 文件备份与同步脚本import osimport shutildef 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,以上。

文章来自:小帅b 学习python的正确姿势






欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4