您现在的位置是:首页 > 文章详情

Python3 批量修改JPG图片尺寸

日期:2019-12-25点击:447

功能

  1. 批量修改当前文件夹下的jpg图片到设置的尺寸
  2. 将修改后的图片移动到 new_img 这个文件夹下

导入库

from PIL import Image # 处理图片模块 import os import shutil # 移动文件模块

如果没有请提前安装相应的库.

定义一个函数用来处理图片尺寸

def smaller_img(x, y, path): # x,y用来传入尺寸,path用来传入路径 old_img = Image.open(path) img_deal = old_img.resize((x, y), Image.ANTIALIAS) # 转换图片 img_deal = img_deal.convert('RGB') # 保存为jpg格式才需要 img_deal.save('新的文件名')

遍历当前文件夹下的文件路径

now_path = os.getcwd() new_path = os.mkdir(now_path + '\\' + 'new_img') # 创建一个名为new_img的文件夹 for file_name in os.listdir(now_path): files_path = now_path + '\\' + file_name print(files_path) # 输出当前目录下所有的文件的绝对路径

将修改后的图片移动到创建的新文件夹

我使用笨办法,用字符串判断的方式,来确定是否是修改后的图片文件.
shutil 模块参考链接

for move_name in os.listdir(now_path): move_path = now_path + '\\' + move_name if 'switch' in move_path: shutil.move(move_path,new_dir) # shutil.move(文件/目录 , 目录) else: print(move_path, '无须移动')

把这些功能整合起来

from PIL import Image import os import shutil x = input('请输入需要修改的尺寸,长:') x = int(x) y = input('请输入需要修改的尺寸,高:') y = int(y) now_path = os.getcwd() new_path = os.mkdir(now_path + '\\' + 'new_img') new_dir = now_path + '\\' + 'new_img' # 修改图片大小 def smaller_img(x, y, path): path = str(path) old_img = Image.open(path) img_deal = old_img.resize((x, y), Image.ANTIALIAS) img_deal = img_deal.convert('RGB') img_deal.save('switch_' + file_name) # 遍历文件夹下的文件,并判断是否是JPG文件 for file_name in os.listdir(now_path): files_path = now_path + '\\' + file_name if 'jpg' in files_path: smaller_img(x, y, files_path) # 遍历文件来判断是否是转换后的jpg文件 for move_name in os.listdir(now_path): move_path = now_path + '\\' + move_name if 'switch' in move_path: shutil.move(move_path,new_dir) else: print(move_path, '无须移动') print(file_name, 'switch success') else: print(file_name, 'is not img') 

结束语

有错误的地方请指出,请大家多多批评

原文链接:https://yq.aliyun.com/articles/740765
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章