Python 批量处理图片的脚本 windows系统下

本人使用脚本把商品图批量格式转化。
# encoding: utf-8
"""
#这个文件是图像处理的配置文件,
#  使用方式 windows 命令行下 执行即可
#  windows 测试通过
#  作者 qq 897014383 
#
# 
"""
from PIL import Image,ImageEnhance
import configparser
import os
from os.path import join
#import math
import random
import hashlib
 


cf = configparser.ConfigParser() # 实例化

# read(filename) 读取文件
filename = cf.read(r'./demos.ini',encoding='utf-8')
sec = cf.sections()
de = cf.get("localtion","file")
des = cf.get("source","file")

def generate_random_str(randomlength=16):
  """
  生成一个指定长度的随机字符串
  """
  random_str =''
  base_str ='ABCDEFGHIGKLMNOPQRSTUVWXYZabcdefghigklmnopqrstuvwxyz0123456789'
  length =len(base_str) -1
  for i in range(randomlength):
    random_str +=base_str[random.randint(0, length)]
  return random_str

def md5_name(strs):
    # 创建MD5对象,可以直接传入要加密的数据
    m = hashlib.md5(strs.encode(encoding='utf-8'))
    mstr = m.hexdigest()
    return mstr
    

'''处理跟目录'''
def sub_dir(file,path):
    newpath  = de +file + '\\'
    isdir = os.path.exists(newpath)
    if not isdir:
        os.mkdir(de + file)
    else:
        pass
        
    for f in os.listdir(path):
        #print(f)
        #print('path = '  + path)
        #fname = generate_random_str(16)
        subfname  = path + '\\' + f
        fname = md5_name(subfname)
        fullname = newpath+fname+'.jpg'
        
        im = Image.open(subfname)
        #print(fullname)
        im.save(fullname)


def traverse_dir(path):
    midpath = ''
    for file in os.listdir(path):
        file_path = os.path.join(path, file)
        
        if os.path.isdir(file_path):
            print("文件夹:", file_path)
            print(file)
            sub_dir(file,file_path)

        else:
            im = Image.open(file_path)
            fname = generate_random_str()+'.jpg'
            fname = md5_name(file_path)
            im.save(de+fname+'.jpg')
            #pass


traverse_dir(des)


/* 
demos.ini  文件的内容

#这个文件是图像处理的配置文件,
#使用方式
#  此文件名称 demos.ini  不可改动文件名称
#  python文件名称 demos.py  不可改动内容,文件名称可以改
#  源文件夹     某目录下,文件夹内就是直接需要处理的图片,不可有其他文件(如 文档,文件夹,压缩包等)
#  目标文件夹   目标文件夹内讲创建同原文件夹内的图片列表所在的文件夹名称,并在此存储处理后的图片
#  作者 qq 897014383 
#  windows 测试通过
#  注意 此版本只支持指定目录的 文件和一级子目录 。 不支持指定目录的多级子目录
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[source]
file = D:\imgs\

[localtion]
file = D:\imgs1\


*/
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值