glob模块简介

glob模块可以查找符合特定规则的文件路径名。查找文件只用到三个匹配符:"*","?","[]"。”*”匹配0个或多个字符;”?”匹配单个字符;”[]“匹配指定范围内的字符,如:[0-9]匹配数字。

glob.glob

功能:返回 所有匹配 的文件路径列表。
参数:只有一个参数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.iglob

功能:获取 一个 可编历对象,使用它可以逐个获取匹配的文件路径名。
区别: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')
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐