0

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

2 回答 2

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]
于 2013-07-25T08:36:17.900 回答
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)

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

于 2013-07-25T10:17:43.090 回答