如何在Python中用正则表达式从两个文件夹名中选择os.path.join的文件,同时排除其他目录?
我想要创建一个文件列表,这些文件位于一个主文件夹(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命令行风格的通配符,它们和正则表达式是不一样的