在Windows中,如果我跑:
dir NP _ ???。LAS
我得到2个文件:
NP_123.LAS
NP_1234.LAS
使用fmatch和NP _ ????。LAS掩码我只得到NP_1234.LAS,而不是NP_123.LAS。
下面是我正在运行的代码:
def FindFiles(directory, pattern):
flist=[]
for root, dirs, files in os.walk(directory):
for filename in fnmatch.filter(files, pattern):
flist.append(os.path.join(root, filename))
return flist
可以更改此项以获取与dir命令相同的文件列表,只使用一种模式吗?
答案 0 :(得分:0)
您可以使用re通过允许实际正则表达式为您提供更多灵活性。正则表达式“[0-9] {3,4}”匹配3位或4位数字。
def FindFiles(directory, pattern):
flist=[]
for root, dirs, files in os.walk(directory):
prog = re.compile("NP_[0-9]{3,4}.txt")
for filename in filter(prog.match, files):
flist.append(os.path.join(root, filename))
return flist