使用python轻松批量压缩图片

使用Python轻松批量压缩图片

如果你经常需要在工作中处理大量图片,那么你一定知道压缩图片的重要性。压缩图片可以大幅降低图片文件的大小,节省存储空间和网络带宽。在本文中,我们将介绍使用Python来批量压缩图片的方法,让图片处理更加高效。

安装Pillow库

Pillow是一个Python图像处理库,可以进行图片打开、编辑和保存等操作。要使用Pillow库,需要在命令行中安装它。在Windows下,可以使用以下命令:

pip install Pillow

编写Python脚本

我们将编写一个Python脚本来批量压缩图片。首先,需要导入Pillow库。然后,使用os模块列出指定目录下的所有图片,遍历每张图片并对其进行压缩。

from PIL import Image
import os

def compress_image(file_path, quality=50):
    """压缩图片"""
    with Image.open(file_path) as im:
        im.save(file_path, quality=quality)

def batch_compress_image(folder_path, quality=50):
    """批量压缩图片"""
    for item in os.listdir(folder_path):
        item_path = os.path.join(folder_path, item)
        if os.path.isfile(item_path):
            try:
                compress_image(item_path, quality)
                print(f"成功压缩图片:{item_path}")
            except Exception as e:
                print(f"压缩图片{item_path} 失败,错误消息:{e}")

if __name__ == '__main__':
    folder_path = "./images" # 图片所在目录
    batch_compress_image(folder_path, quality=50) # 压缩质量

上述代码中,compress_image函数负责对单张图片进行压缩。batch_compress_image函数则遍历指定目录下的所有图片,并调用compress_image对其进行压缩。这里使用了try-except语句,避免在处理某张图片时出现错误导致程序中断。

运行Python脚本

将上述代码保存为compress.py文件,然后在命令行中执行以下命令运行程序:

python compress.py

程序将自动遍历指定目录下的所有图片,并对其进行压缩。压缩后的图片将覆盖原始图片。

总结

使用Python批量压缩图片可以大大提高图片处理的效率。在本文中,我们介绍了使用Pillow库编写Python脚本对图片进行压缩的方法,希望这篇文章能够对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用python轻松批量压缩图片 - Python技术站

(0)
上一篇 2023年3月28日
下一篇 2023年3月28日

相关文章

  • 古墓丽影崛起卡死无响应的解决方法

    古墓丽影崛起卡死无响应的解决方法: 问题描述 在游玩古墓丽影崛起时,有时会出现卡死或无响应的情况,导致游戏无法进行。这个问题可能是由于游戏兼容性、驱动程序或者游戏设置等多种原因造成的。 解决方法 方法一:清理游戏文件缓存 游戏文件缓存可能在一段时间后会影响游戏的执行,尝试清理缓存可能会解决掉这个问题。 打开 Steam 界面,进入游戏库; 在游戏右键菜单中选…

    other 2023年6月27日
    00
  • 使用CSS做出一个嵌套导航.

    当使用CSS创建嵌套导航时,可以按照以下步骤进行操作: 创建HTML结构:首先,需要创建一个包含导航的HTML结构。可以使用无序列表(<ul>)和列表项(<li>)来构建导航的层次结构。例如: <ul class=\"nav\"> <li><a href=\"#\"…

    other 2023年7月28日
    00
  • 部分网页打不开的原因分析以及解决方法

    部分网页打不开的原因分析以及解决方法 原因分析 网络问题 网络问题是导致部分网页无法打开的最常见原因。网络问题可能包括: DNS解析问题:DNS解析无法完成或出错会导致网页无法正常加载。 域名或IP地址错误:输入错误的域名或IP地址会导致网页无法访问。 网络连接问题:如果网络连接不稳定或连接失败,网页也会无法加载。 浏览器问题 浏览器问题也是可能导致部分网页…

    other 2023年6月27日
    00
  • uniapp实现全局设置字体大小(小中大的字体切换)

    Uniapp是一个跨平台的应用框架,可以方便地将一个代码库同时构建成iOS、Android、H5等多个端的应用。在本文中,将详细讲解如何使用Uniapp实现全局设置字体大小(小中大的字体切换)的完整攻略。 一、方案概述 要实现全局设置字体大小的话,需要具备以下三个条件: 维护一个全局状态,记录当前的字体大小; 在应用启动时,从本地持久化存储加载字体大小; 在…

    other 2023年6月27日
    00
  • git查看某个文件的修改历史及具体修改内容

    Git查看某个文件的修改历史及具体修改内容 Git作为目前最流行的版本控制系统之一,不仅可以方便地管理代码版本,还可以查看某个文件的修改历史和每个版本的变化。这篇文章将介绍如何通过Git查看某个文件的修改历史及具体修改内容。 1. 查看文件修改历史 要查看某个文件的修改历史,可以使用Git的命令行工具,打开终端,进入目标Git仓库所在的目录。使用下面的命令可…

    其他 2023年3月28日
    00
  • C++实现LeetCode(21.混合插入有序链表)

    C++实现LeetCode(21.混合插入有序链表) 题目描述 给你两个有序链表的头节点 l1 和 l2,请你将它们合并成一个新的有序链表,并返回新链表的头节点。 示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2: 输入:l1 = [], l2 = [] 输出:[] 题解 这道题的思路比较简单…

    other 2023年6月27日
    00
  • nginx的return配置

    当然,我很乐意为您提供有关“nginx的return配置”的完整攻略。以下是详细的步骤和两个示例: 1. 什么是nginx的return配置? nginx的return配置用于在服务器端返回HTTP响应。它可以用于重定向、返回状态码、设置响应头等操作。 以下是return配置的基本语法: return code [text]; 在这个示例中,我们使用retu…

    other 2023年5月6日
    00
  • word红头文件、公文的排版技巧

    关于“word红头文件、公文的排版技巧”,以下是我的建议: 1. 红头文件的制作 1.1 使用word模板 制作红头文件的一种常见方式是使用word模板。你可以下载一份现成的红头文件模板,并根据自己的需求进行修改。在编辑模板时,你必须注意以下几点: 合理安排版面:模板中应包含机关或单位名称、文件名称、时间、页码等项目。 选择合适字体:一般来说,红头文件中的字…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部