使用python轻松批量压缩图片

yizhihongxing

使用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日

相关文章

  • 更改Python命令行交互提示符的方法

    更改Python命令行交互提示符的方法,可以通过修改sys模块的PS1和PS2变量来实现。下面提供详细步骤: 打开Python交互式命令行,输入以下代码: import sys sys.ps1 = ‘>>> ‘ sys.ps2 = ‘… ‘ 其中,sys.ps1为主提示符,sys.ps2为次提示符。在以上代码中,将主提示符设置为>…

    other 2023年6月26日
    00
  • C#自定读取配置文件类实例

    下面是“C#自定读取配置文件类实例”的完整攻略。 一、基本思路 读取配置文件需要使用C#提供的System.Configuration.ConfigurationManager类。该类中的ConfigurationManager.OpenExeConfiguration方法可以打开应用程序的配置文件,并且可以根据需要打开任何其他的配置文件。在打开配置文件后,…

    other 2023年6月25日
    00
  • python解析pdf方法介绍(入门级)

    Python解析PDF方法介绍(入门级) PDF(Portable Document Format)是一种常见的文档格式,它可以在不同的操作系统和设备上保持一致的显示效果。在Python中,我们可以使用一些库来解析PDF文件,提取其中的文本、图片等信息。本攻略将介绍Python解析PDF的方法,包括使用PyPDF2和pdfminer库。 PyPDF2库 Py…

    other 2023年5月9日
    00
  • Java面向对象关键字extends继承的深入讲解

    让我们开始讲解Java面向对象关键字extends继承的深入讲解。 概述 继承是面向对象编程的一个核心概念。它允许我们定义一个对象,并基于该对象定义一个新的对象,从而实现代码的重用。在Java中,我们使用关键字extends来实现继承。 子类(派生类)继承自父类(基类)的所有非私有的属性和方法,这些属性和方法称为父类的成员。子类可以通过成员的覆盖重写,扩展或…

    other 2023年6月27日
    00
  • windowscopy命令

    当然,我很乐意为您提供有关“Windows Copy命令”的完整攻略。以下是详细的步骤和两个示例: 1. Windows Copy命令 在Windows操作系统中,Copy命令用于将一个或多个文件从一个位置复制到另一个位置。Copy命令可以在命令提示符下使用,也可以在批处理文件中使用。 2. Windows Copy命令的语法 以下是Copy命令的语法: C…

    other 2023年5月6日
    00
  • java new一个对象的过程实例解析

    Java new一个对象的过程实例解析 在Java中,使用new关键字可以创建一个对象。下面是创建对象的过程实例解析: 加载类:首先,Java虚拟机会根据类的全限定名找到对应的类文件,并加载到内存中。 分配内存:在内存中为对象分配一块连续的内存空间,用于存储对象的实例变量。 初始化零值:将分配的内存空间初始化为零值,即将对象的实例变量设置为默认值。 执行构造…

    other 2023年10月14日
    00
  • Hadoop环境配置之hive环境配置详解

    下面是Hadoop环境配置之hive环境配置详解的完整攻略: Hadoop环境配置之hive环境配置详解 1. 安装Hadoop 首先,我们需要安装Hadoop,这里以Hadoop 3.2.2为例。具体安装过程可以参考Hadoop官网。 2. 安装Hive 安装Hive的过程分为以下几步: 2.1 下载Hive 可以从Hive官网或Hadoop官网下载Hiv…

    other 2023年6月27日
    00
  • Vue+Element实现封装抽屉弹框

    下面我会详细讲解一下Vue+Element实现封装抽屉弹框的完整攻略。 什么是抽屉弹框 抽屉弹框是一种常用的前端 UI 组件,它可以在页面上弹出一个包含特定内容的抽屉,常用于展示一些额外信息或者提供某些功能。 使用 Element UI 组件库 Vue+Element是目前非常流行的前端开发组合。Element UI 是一款基于 Vue.js 2.0 的饿了…

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