广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python简易图片批量压缩程序
  • 112
分享到

Python简易图片批量压缩程序

批量简易程序 2023-01-31 02:01:38 112人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

说明 运行环境:Win10 PyCharm 程序没有用到面向对象编程方法,只是简单的面向过程设计 用到的模块:PIL、os、sys 使用方法: 在Pycharm的terminal中输入”python xxx.py source

说明

  • 运行环境:Win10 PyCharm
  • 程序没有用到面向对象编程方法,只是简单的面向过程设计
  • 用到的模块:PIL、os、sys
  • 使用方法: 在Pycharm的terminal中输入”python xxx.py source_dir dest_dir”就可以把source_dir中的图片文件进行压缩并保存到dest_dir中

源码

from PIL import Image
import os
import sys

# 定义可以识别的图片文件类型,可以自行扩充
valid_file_type = ['.jpg', '.png']
# 定义压缩比,数值越大,压缩越小
SIZE_nORMal = 1.0
SIZE_small = 1.5
SIZE_more_small = 2.0


def make_directory(directory):
    """创建目录"""
    os.makedirs(directory)


def directory_exists(directory):
    """判断目录是否存在"""
    if os.path.exists(directory):
        return True
    else:
        return False


def list_img_file(directory):
    """列出目录下所有文件,并筛选出图片文件列表返回"""
    old_list = os.listdir(directory)
    # print old_list
    new_list = []
    for filename in old_list:
        if os.path.isfile(filename):
            f, e = os.path.splitext(filename)
            if e in valid_file_type:
                new_list.append(filename)
            else:
                pass
        else:
            pass
    # print new_list
    return new_list


def print_help():
    print """
    This program helps compress many image files
    you can choose which scale you want to compress your img(jpg/png/etc)
    1) normal compress(4M to 1M around)
    2) small compress(4M to 500K around)
    3) smaller compress(4M to 300K around)
    """


def compress(choose, des_dir, file_list):
    """压缩算法,img.thumbnail对图片进行压缩,还可以改变宽高数值进行压缩"""
    if choose == '1':
        scale = SIZE_normal
    if choose == '2':
        scale = SIZE_small
    if choose == '3':
        scale = SIZE_more_small
    for infile in file_list:
        img = Image.open(infile)
        # size_of_file = os.path.getsize(infile)
        w, h = img.size
        img.thumbnail((int(w/scale), int(h/scale)))
        img.save(des_dir + '/' + infile)


if __name__ == "__main__":
    src_dir, des_dir = sys.argv[1], sys.argv[2]
    if directory_exists(src_dir):
        if not directory_exists(des_dir):
            make_directory(des_dir)
        # business logic
        file_list = list_img_file(src_dir)
        # print file_list
        if file_list:
            print_help()
            choose = raw_input("enter your choice:")
            compress(choose, des_dir, file_list)
        else:
            pass
    else:
        print "source directory not exist!"

--结束END--

本文标题: Python简易图片批量压缩程序

本文链接: https://www.lsjlt.com/news/185573.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python简易图片批量压缩程序
    说明 运行环境:Win10 Pycharm 程序没有用到面向对象编程方法,只是简单的面向过程设计 用到的模块:PIL、os、sys 使用方法: 在Pycharm的terminal中输入”python xxx.py source...
    99+
    2023-01-31
    批量 简易 程序
  • python实现图片批量压缩
    目录第一种 一:安装包二:导入包三:获取图片文件的大小四:输出文件夹下的文件五:压缩文件到指定大小,我期望的是150KB,step和quality可以修改到最合适的数值六:...
    99+
    2022-11-12
  • python 批量压缩图片的脚本
    目录简介需要 Needs用法 Usage代码实现效果另外一种图片压缩实现方式简介 用Python批量压缩图片,把文件夹或图片直接拖入即可 需要 Needs Python 3 Pillow (用pip install ...
    99+
    2022-06-02
    python 图片压缩 python 批量压缩
  • python利用Guetzli批量压缩图片
    Google 又开源了,这次开源了一款图像算法工具 Guetzli。Guetzli,在瑞士德语中是“cookie(曲奇)”的意思,是一个针对数码图像和网页图像的 JPEG 编码器,能够通过产生更小的 JPE...
    99+
    2022-06-04
    批量 图片 python
  • python怎么实现图片批量压缩
    这篇文章主要介绍python怎么实现图片批量压缩,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!python的数据类型有哪些python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮...
    99+
    2023-06-14
  • Ubuntu如何批量压缩图片
    小编给大家分享一下Ubuntu如何批量压缩图片,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!以下就是Ubuntu压缩图片批量方法,这些Ubuntu压缩图片方法是我学了很久的心得,希望对大家有帮助。用DC拍出来的很多照片尺寸...
    99+
    2023-06-16
  • 怎么使用python对图片进行批量压缩
    本篇内容主要讲解“怎么使用python对图片进行批量压缩”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python对图片进行批量压缩”吧!使用Python和Pillow模块压缩图片Pil...
    99+
    2023-07-02
  • python批量压缩图片的脚本代码分享
    本篇文章和大家了解一下python批量压缩图片的脚本代码分享。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。简介用Python批量压缩图片,把文件夹或图片直接拖入即可需要 NeedsPython 3Pillow (用pip...
    99+
    2023-06-15
  • 图片批量压缩大小脚本分享
    压缩图片时用的一个脚本,先安装下#ImageMagick# #!/bin/bash # yum install ImageMagick # cd /img/dir for file in */*.jpg;...
    99+
    2022-06-04
    批量 脚本 大小
  • 如何使用python对图片进行批量压缩详解
    目录前言使用Python和Pillow模块压缩图片1、优化flag2、渐进式JPEG3、JPEG动态质量使用Python和Selenium模块操纵Squoosh批量压缩图片Pytho...
    99+
    2022-11-11
  • 小程序图片上传压缩
    上传图片是小程序常见的功能,例如点评类小程序邀请用户分享照片、电商类小程序要求商家上传商品照片。 伴随着照片像素越来越高,图片体积越来越大,小程序开发者需要压缩图片,否则将导致用户上传图片失败或加载时...
    99+
    2023-09-18
    小程序 前端 javascript
  • Java图片批量压缩像素的实现方法
    目录图片压缩大法压缩前大小:压缩后大小:具体代码实现:附:利用Graphics类如何进行压缩图像总结图片压缩大法 为了防止用户流量的丢失,即使在5g 即将来临的情况下,压缩算法依旧是...
    99+
    2022-11-12
  • 如何编写图片批量压缩大小脚本
    本篇内容主要讲解“如何编写图片批量压缩大小脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何编写图片批量压缩大小脚本”吧!压缩图片时用的一个脚本,先安装下#ImageMagick#代码如下:...
    99+
    2023-06-09
  • python批量压缩图像的完整步骤
    目录背景解决方案操作步骤要求步骤附:批量将图片的大小设置为指定大小写在后面背景 今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB。但是同事又有很多照片。...
    99+
    2022-11-12
  • 如何使用Python批量缩放图片
    今天小编给大家分享一下如何使用Python批量缩放图片的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。导读为了解决图片被改变大...
    99+
    2023-06-29
  • Linux系统下怎么批量压缩图片尺寸大小
    本篇内容介绍了“Linux系统下怎么批量压缩图片尺寸大小”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Centos系统的安装使用方法: yu...
    99+
    2023-06-13
  • Java图片批量压缩像素的实现方法是什么
    Java图片批量压缩像素的实现方法是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。图片压缩大法为了防止用户流量的丢失,即使在5g 即将来临的情况下,压缩算法...
    99+
    2023-06-22
  • python批量压缩图像的完整步骤是什么
    这期内容当中小编将会给大家带来有关python批量压缩图像的完整步骤是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。背景今天在工作中,同事遇到一个上传图片的问题:系统要求的图片大小不能超过512KB。...
    99+
    2023-06-22
  • 【黄啊码】PHP压缩图片(简洁易懂版,不懂我下次不写)
    大家好,我是黄啊码,今天我们来解决一件头疼的事情。作为技术人员,我们一般传图片都知道尽量传清晰和大小适中的图片,部署的时候当然也希望客户能按说明办事,但有的客户偏偏不听,就传大的,就传大的,最终后宫服务器三千都顶不住他们的折腾,程序员心里苦...
    99+
    2023-09-07
    php 开发语言
  • 一文教会你使用Python批量缩放图片
    目录导读实际演示阶段详细介绍该库总结导读 为了解决图片被改变大小后,比例保持不变(这样就不会变形了) 图片需要压缩,避免填图后的word文件太大通过Image模块中的resize函数...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作