首页 > 编程语言 >使用 Python 语言批量改变多个文件夹下的多个图片的尺寸大小

使用 Python 语言批量改变多个文件夹下的多个图片的尺寸大小

时间:2022-10-31 09:57:56浏览次数:36  
标签:多个 img Python 文件夹 new path os dir

import glob
import os
from PIL import Image

# 1、获取文件夹名称
path = r'H:\wordData\30train'

dirnames = [f for f in os.listdir(path) if os.path.isdir(path + "\\" + f)]
print(dirnames)


def convertSize(jpgfile, outdir, width=112, height=112):  # 将图片的大小的尺寸调整为112*112

    img = Image.open(jpgfile)
    try:
        new_img = img.resize((width, height), Image.BILINEAR)

        if new_img.mode == 'P':
            new_img = new_img.convert("RGB")
        if new_img.mode == 'RGBA':
            new_img = new_img.convert("RGB")

        new_img.save(os.path.join(outdir, os.path.basename(jpgfile)))
    except Exception as e:
        print(e)


# 2、遍历文件夹
for dir_name in dirnames:
    dir_path = path + "\\" + dir_name

    # 3、创建新文件夹
    target_path = r"H:\wordData\new_30train" + "\\" + dir_name + "\\"
    if not os.path.exists(target_path):
        os.makedirs(target_path)

    # 4、遍历文件夹中的图片, 修改尺寸
    for pic in os.listdir(dir_path):  # 修改该文件夹下的图片
        convertSize(dir_path + "\\" + pic, target_path)  # 另存为的文件夹路径
    print(dir_path + "文件夹下的图片处理完毕.\n")

print("全部文件夹下的图片处理完毕.")

由于代码

new_img = img.resize((width, height), Image.BILINEAR)

参数 Image.BILINEAR 将被弃用,所以会报警告,不过不影响,在使用时可不加该参数。

标签:多个,img,Python,文件夹,new,path,os,dir
From: https://www.cnblogs.com/ltkekeli1229/p/16843260.html

相关文章

  • WPF CommandParameter 传递多个参数的方法
    1、新建一个按钮内容如下<ButtonName="btnOK"Content="确定"Height="20"W......
  • python文件
    文件什么是文件?文件是操作系统提供给用户/应用程序操作硬盘的一种虚拟的概念/接口用户/应用程序:(f=open(),获取文件对象、文件句柄)操作系统:文件计算机硬件:硬盘......
  • python数据类型
    数值类型1.1整型int类型转换:int("10")10进制转为二进制:bin()10进制转为八进制:oct()10进制转为16进制:hex()二进制转为10进制:int("0b1011",2)八进制转为10进制:int......
  • 如何用 Python 来模拟概率
     小朋友问我一个问题,如何用Python来模拟概率. 题目是:从 [-2,-1,0,1,2,3]中随机选择两个不同的数,乘积为0的概率是多少?我搜索并思考了一下,得出以下......
  • 盘点一个高德地图Python网络爬虫中前端数据和获取数据不一致问题
    大家好,我是皮皮。一、前言前几天在Python钻石交流群【心田有垢生荒草】问了一个Python网络爬虫的问题,下图是截图:代码初步看上去好像没啥问题,但是结果就是不对,地图上显......
  • Centos8 升级python3.6版本到python3.9
    下载Python3.9.51:wgethttps://www.python.org/ftp/python/3.9.5/Python-3.9.5.tgz2:tarzxvfPython-3.9.5.tgz安装必须的包3:dnf-yinstallgcczlib*libffi-dev......
  • Python程序暂停
    (39条消息)Python基础之程序暂停_zxnode的博客-CSDN博客_python暂停程序当我们执行某些程序时,由于机器速度很快导致肉眼无法直接看到执行结果时程序便停止运行。这时候我......
  • Python简单api实现
    flask作用及简单使用Flask的简单介绍及使用方法简介_珂鸣玉的博客-CSDN博客_flask 简单api搭建importflaskapi=flask.Flask(__name__)@api.route('/test1',......
  • python学习第五周总结
    正则表达式基础字符组特殊符号量词贪婪匹配和非贪婪匹配转义符re模块re模块补充说明第三方模块下载网络爬虫模块之requests模块hashlib加......
  • 3.6 使用Python向工作表中插入_删除行与列
    插入一列.insert_cols(idx=数字编号)插入多列.insert_cols(idx=数字编号,amount=要插入的列数)插入一行.insert_rows(idx=数字编号)插入多行.insert_rows(idx=数字编......