我的文件夹中有.jpg文件,如下所示:
D:\\myfolder\\a.b2001001.c05.jpg
D:\\myfolder\\a.b2001002.c08.jpg
D:\\myfolder\\a.b2001003.c07.jpg
D:\\myfolder\\a.b2001004.c09.jpg
...
...
D:\\myfolder\\a.b2001080.c11.jpg
如何只选择从a.b2001003到a.b2001050的文件? (问题1) 如何只选择包含c05,c08和c09的文件? (问题2)
import glob
files = glob.glob ("D:\\myfolder\\????.jpg")
答案 0 :(得分:3)
仅使用glob.glob()将无法生成您想要的内容。
使用列表理解:
import glob
import os
files = glob.glob("D:\\myfolder\\a.b*.c0[589].jpg")
files = [f for f in files if 2001003 <= int(os.path.basename(f)[3:10]) <= 2001050]
答案 1 :(得分:0)
import glob
import re
s = ''.join(glob.glob('/path/to/direc/*'))
文件范围从c05,c08,c09: -
re.findall("a\.b[0-9]{7}\.c[0][5|8|9]\.JPG", s)
文件范围从a.b2001003到a.b2001050
re.findall("a.b20010[0-5][3-9]\.JPG", s)
希望这会有所帮助...... :)。