从具有各种参数的目录创建文件列表

时间:2013-07-25 08:28:11

标签: python python-2.7 python-3.x

我的文件夹中有.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")

2 个答案:

答案 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)

希望这会有所帮助...... :)。