如何在Python中用正则表达式从两个文件夹名中选择os.path.join的文件,同时排除其他目录?

1 投票
1 回答
872 浏览
提问于 2025-04-18 10:11

我想要创建一个文件列表,这些文件位于一个主文件夹(SPOTVGT_MC10)下面的两个子文件夹(2013和2014)里,而这个主文件夹里还有很多其他的文件夹。

我现在的代码是这样的:

sorted(glob.glob(os.path.join(dir_MNR,'SPOTVGT_MC10','*','*MIR.tif')))

我想把第一个*替换成一个只考虑名为2013和2014的文件夹的东西,可能需要用到正则表达式。

你知道怎么做到这一点吗?

提前谢谢你!

祝好,

1 个回答

0

试试这个:

sorted(glob.glob(os.path.join(dir_MNR,'SPOTVGT_MC10','201[34]','*MIR.tif')))

正如fnmatch模块的文档中解释的那样:

[seq] 可以匹配seq中的任何一个字符

另外,请注意,这些是

Unix命令行风格的通配符,它们和正则表达式是不一样的

撰写回答