1描述:
=====
1.1 python基本上可以简单的实现所有重复性或者批量性的东西,这是python的优势。
1.2批量改变图片尺寸到指定尺寸。
1.3相关模块:os.path模块和glob模块。
1.4环境:
华为笔记本电脑,deepin-linux操作系统,python3.8和微软vscode编辑器。
2 piliangsize.py代码:
===============
2.1注释版本
#导出模块 from PIL import Image import os.path import glob #指定大小为128,可调节,自定义函数及其参数 #jpgfile,导出路径,后面的大小是指定参数 def convertjpg(jpgfile,outdir,width=128,height=128): img=Image.open(jpgfile) try: new_img=img.resize((width,height),Image.BILINEAR) new_img.save(os.path.join(outdir,os.path.basename(jpgfile))) #错误跑出设置,这是比较严谨的写法,也可以把try和except去掉 except Exception as e: print(e) #读取jpg的名字,可能是数字或者文字均可,通配符,所有图片 for jpgfile in glob.glob("/home/xgj/Desktop/imageio/jpglist/*.jpg"): #生成后的文件,大小一致的图片,上面自定义函数的主要内容,大小省略,是上面的宽和高128 convertjpg(jpgfile,"/home/xgj/Desktop/imageio/jpglist1/")
2.2 简洁版:pil importimage的导出模块 importos . path import glob #指定可调大小128,自定义函数及其参数 #jpgfile,导出路径,以下大小为指定参数 defconvert jpg (jpg文件,outdir,宽度= 128,高度= 128): img = image。打开(jpg文件) 尝试: new _ img = img。resize((image . bilinear) new _ img . save(OS . path . join(outdir,OS.path.basename (jpg文件)) #错误地跑出了设置,这是更严谨的写法。也可以将try和except except exception作为e: print(e) # Read . jpg的名称,可以是数字或文字、通配符、所有图片 对于glob . glob(& # 34;/home/xgj/Desktop/imageio/jpg list/*。jpg & # 34): #生成的文件,同样大小的图片,上面自定义函数的主要内容,省略的大小,是上面128 Convertjpg (jpg文件,& # 34;/home/xgj/Desktop/imageio/jpglist 1/& # 34;)2.2简明版:
from PIL import Image import os.path import glob def convertjpg(jpgfile,outdir,width=128,height=128): img=Image.open(jpgfile) new_img=img.resize((width,height),Image.BILINEAR) new_img.save(os.path.join(outdir,os.path.basename(jpgfile))) for jpgfile in glob.glob("/home/xgj/Desktop/imageio/jpglist/*.jpg"): convertjpg(jpgfile,"/home/xgj/Desktop/imageio/jpglist1/")
3 glob模块:从PIL导入Image import OS . path import glob def convert jpg(jpg file,outdir,width=128,height = 128): img = Image . open(jpg file) new _ img = img . resize((width,height),Image。双线性) new _ img . save(OS . path . join(outdir,OS . path . basename(jpg file))) for jpg file in glob . glob(& # 34;/home/xgj/Desktop/imageio/jpg list/*。jpg & # 34): convertjpg(jpgfile,& # 34;/home/xgj/Desktop/imageio/jpglist 1/& # 34;) 3globab模块:
========
3.1有了它,可以找到符合特定规则的文件路径名。它类似于在windows下使用文件搜索。
3.2环球环球
import glob file = glob . glob(r & # 39;/home/xgj/Desktop/imageio/jpg list/*。jpg & # 39) print(type(file)) print(file) & # 39;'' # Result < class & # 39;列表& # 39;& gt [& # 39;/home/xgj/Desktop/imageio/jpg list/4 . jpg & # 39;, & # 39;/home/xgj/Desktop/imageio/jpg list/1 . jpg & # 39;, & # 39;/home/xgj/Desktop/imageio/jpg list/5 . jpg & # 39;, & # 39;/home/xgj/Desktop/imageio/jpg list/2 . jpg & # 39;, & # 39;/home/xgj/Desktop/imageio/jpg list/3 . jpg & # 39;] & # 39;''3.3环球网
获取一个日历对象,可以用来逐个获取匹配的文件路径名。
与glob.glob()的区别在于,glob.glob同时获取所有匹配路径,而glob。igloba一次只能获得一条匹配路径。
Import glob # The。父目录中的jpg文件 f = glob . igloba(r & # 39;/home/xgj/Desktop/imageio/jpg list/*。jpg & # 39) print(f)# & lt;0x7f6e2f0492e0处的generator object _ iglob & gt; for jpg in f: print(jpg) & # 39;'' #执行结果 < generator object _ iglob at 0x7fb 82422 B2 E0 & gt; /home/xgj/Desktop/imageio/jpg list/4 . jpg /home/xgj/Desktop/imageio/jpg list/1 . jpg /home/xgj/Desktop/imageio/jpg list/5 . jpg /home/xgj/Desktop/imageio/jpg/2 . jpg /home/xgj/Desktop/imageio/jpg list/3 . jpg[]''4 os.path模块:
= = = = = = = = = = = = =
4.1主要用于获取文件的属性。
4.2正式文件:
https://docs.python.org/3/library/os.path.html4.3 OS . path . join
os.path.join(路径1[,路径2[,...]])
当组合并返回多个路径时,第一个绝对路径之前的参数将被忽略。
& gt& gt& gtOS . path . join(& # 39;丁:& # 39;, 'csv & # 39, 'test.csv & # 39) & # 39;d:csvtest . CSV & # 39; & gt;& gt& gtOS . path . join(& # 39;windowstemp & # 39, '丁:& # 39;, 'csv & # 39, 'test.csv & # 39) & # 39;d:csvtest . CSV & # 39; & gt;& gt& gtOS . path . join(& # 39;/home/aa & # 39;,'/home/aa/bb & # 39;,'/home/aa/bb/c & # 39;) & # 39;/home/aa/bb/c & # 39;4.4 os.path.basename
os.path.basename(路径)
返回路径的最后一个文件名。如果路径以/或结尾,那么将返回空的值。
Python 3.8.0(默认为2020年5月27日21:07:57) [GCC 6 . 3 . 0 2017 05 16]Linux上 Type & # 34;救命& # 34;, "版权& # 34;, "学分& # 34;或者& # 34;许可证& # 34;了解更多信息。 & gt;& gt& gt导入OS . path & gt;& gt& gtOS . path . basename(& # 39;/home/xgj/Desktop/imageio/jpg list/5 . jpg & # 39;) & # 39;5.jpg & # 39 & gt;& gt& gtOS . path . basename(& # 39;/home/xgj/Desktop/imageio/jpg list & # 39;) & # 39;jpglist & # 39# jpglist在这里被视为文件名 & gt;& gt& gtOS . path . basename(& # 39;/home/xgj/Desktop/imageio/jpg list/& # 39;) & # 39;' & gt;& gt& gt= = =整理分享一下= =
喜欢就点赞,转发,收藏,评论。