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 に答える