glob模块可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:"*","?","[]"
。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。
功能:返回 所有匹配 的文件路径列表。
参数:只有一个参数pathname,定义了文件路径匹配规则,这里可以是绝对路径,也可以是相对路径。
#python
import glob
""" 示例1 """
print glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg')
""" 示例2 """
for f in glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg'):
print f
功能:获取 一个 可编历对象,使用它可以逐个获取匹配的文件路径名。
区别:glob.glob同时获取 所有 的匹配路径,而glob.iglob一次只获取 一个 匹配路径。
Tips
im.save(outfile, options…)
im.save(outfile, format, options…)
""" outfile=os.path.join(路径,图像文件名) """
有了上面的tips,剩下的妥妥的~~~
#python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
""" 指定图片存储路径,以RGB转换灰度图为例 RGB原图放在raw_images文件夹下,转换后的灰度图要求存放在images文件夹下。 """
import os
import glob
from PIL import Image
def convert_to_grayscale(infile,outdir):
im = Image.open(infile).convert('L')
im.save(os.path.join(outdit,os.path.basename(infile)))
print u'图像转换完毕!'
for infile in glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg'):
convert_to_grayscale(infile,r'D:\Exp\Python\test1\images')
Shift+F10走一波~~~
原文件不变,效果图指定存储~~~~
返回指定路径下所有jpg图像文件名列表
case1 : 返回包括路径+文件名
case2:返回文件名
#python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
from PIL import Image
def get_imlist(path,case = 1):
""" 返回指定路径下所有jpg图像文件名列表 case1:返回包括路径+文件名 case2:返回文件名 """
if case == 1:
return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]
else:
return [os.path.join('',f) for f in os.listdir(path) if f.endswith('.jpg')]
imlist1 = get_imlist(r'D:\Exp\Python\test1\raw_images')
imlist2 = get_imlist(r'D:\Exp\Python\test1\raw_images',2)
当然刚才提到的glob模块也是可以实现的
#python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import glob
imlist = glob.glob(r'D:\Exp\Python\test1\raw_images\*.jpg')