Python实现批量压缩图片

yipeiwu_com5年前Python基础

本文为大家分享了Python实现批量压缩图片的具体代码,供大家参考,具体内容如下

# -*- coding: utf-8 -*- 
""" 
__author__= 'Du' 
__creation_time__= '2018/1/5 10:06' 
""" 
 
import os 
from PIL import Image 
import glob 
 
DIR = 'C:/Users/Public/Pictures/Sample Pictures/' 
 
class Compress_Picture(object): 
  def __init__(self): 
    # 图片格式,可以换成.bpm等 
    self.file = '.jpg' 
 
  # 图片压缩批处理 
  def compressImage(self): 
    for filename in glob.glob('%s%s%s' % (DIR, '*', self.file)): 
      # print(filename) 
      # 打开原图片压缩 
      sImg = Image.open(filename) 
      w, h = sImg.size 
      print(w, h) 
      dImg = sImg.resize((200, 200), Image.ANTIALIAS) # 设置压缩尺寸和选项,注意尺寸要用括号 
 
      # 如果不存在目的目录则创建一个 
      comdic = "%scompress/"%DIR 
      if not os.path.exists(comdic): 
        os.makedirs(comdic) 
 
      # 压缩图片路径名称 
      f1 = filename.split('/') 
      f1 = f1[-1].split('\\') 
      f2 = f1[-1].split('.') 
      f2 = '%s%s1%s'%(comdic, f2[0], self.file) 
      # print(f2) 
      dImg.save(f2) # save这个函数后面可以加压缩编码选项JPEG之类的 
      print("%s compressed succeeded"%f1[-1]) 
 
 
if __name__ == "__main__": 
  obj = Compress_Picture() 
  obj.compressImage() 

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

基于Python函数的作用域规则和闭包(详解)

作用域规则 命名空间是从名称到对象的映射,Python中主要是通过字典实现的,主要有以下几个命名空间: 内置命名空间,包含一些内置函数和内置异常的名称,在Python解释器启动时创建,一...

python制作英语翻译小工具代码实例

这篇文章主要介绍了python制作英语翻译小工具代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 用python爬虫可以制作英语...

python实现贪吃蛇游戏

本文实例为大家分享了python实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下 本文稍作改动,修复一些bug,原文链接:python实现贪吃蛇游戏 #!/usr/bin/env...

pyqt5 实现多窗口跳转的方法

今天在做pyqt5的多页面跳转时遇到问题,一点击button按钮,程序会崩溃。在网上查了下,应该是当窗口A调用窗口B的时候,两个窗口不能是同一类型。我写的时候把A、B同时写成了QWidg...

Python打印斐波拉契数列实例

本文实例讲述了Python打印斐波拉契数列的方法。分享给大家供大家参考。具体实现方法如下: #打印斐波拉契数列 #!/usr/bin/python def feibolaqi(n):...