Doc: https://docs.python.org/2/library/glob.html
列出指定路径的pathfile, 可用通配符*?[][!]
*匹配0个或多个字符
?匹配1个字符
[1-9] 匹配字符1, 2, 3, 4, 5, 6, 7, 8,9中的一个
[a-z]匹配字符a到z所有字符中的一个
[!a-z]不匹配字符a到z所有字符中的一个
有2函数:
glob.glob() 返回一个pathfile的list
glob.iglob() 返回包含和glob.glob()同样给果的一个iterator,方便一个个的取值。
程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import glob print r'glob.glob(r"*.jpg")', "\n", glob.glob(r"*.jpg"), "\n" #output something like: ['abc.jpg', 'aaa.jpg', 'bbb.jpg'] print r"glob.glob(r'../*.*')", "\n", glob.glob(r'../*.*'), "\n" print r"glob.glob(r'/*')", "\n", glob.glob(r'/*'), "\n" print r"glob.glob(r'/home/pi/*')", "\n", glob.glob(r'/home/pi/*'), "\n" print r"glob.glob(r'mv.jpg*')", "\n", glob.glob(r'mv.jpg*'), '\n' print r"glob.glob(r'[m-r]*')", "\n", glob.glob(r'[m-r]*'), "\n" #--------------------------------- #iglob #--------------------------------- fs = glob.iglob(r'*.jpg') print fs for f in fs: print f |
结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
glob.glob(r"*.jpg") ['mv.jpg', '61_ImageFilterBLUR.jpg', 'randomchar.jpg', 'mv_thumbnail.jpg', '61.jpg'] glob.glob(r'../*.*') ['../sys.modules.xls', '../examples.desktop'] glob.glob(r'/*') ['/vmlinuz', '/proc', '/sys', '/vmlinuz.old', '/lib', '/initrd.img', '/snap', '/initrd.img.old', '/lost+found', '/cdrom', '/boot', '/var', '/opt', '/media', '/tmp', '/core', '/sbin', '/bin', '/dev', '/root', '/lib64', '/home', '/run', '/mnt', '/etc', '/usr', '/srv'] glob.glob(r'/home/pi/*') [] glob.glob(r'mv.jpg*') ['mv.jpg'] glob.glob(r'[m-r]*') ['out', 'pickle', 'mv.jpg', 'py01', 'raspitr.png', 're', 'randomchar.jpg', 'mv_thumbnail.jpg', 'qrtools'] <generator object iglob at 0x7f9de36dca50> mv.jpg 61_ImageFilterBLUR.jpg randomchar.jpg mv_thumbnail.jpg 61.jpg |
git: https://github.com/allenmo/python_study/blob/master/055_glob.py