如何在具有相似数字的情况下使用glob.glob获取特定文件?

时间:2015-10-05 16:24:47

标签: glob

我有相似数字的文件,例如:

13Aug2015_01blue.txt,13Aug2015_02blue.txt,13Aug2015_12blue.txt,13Aug2015_13blue.txt ... etc。

我想使用glob.glob仅提取具有01和12的文件...当我使用

loc1=glob.glob('*[01,12]*.txt')

我收回所有文件,因为其中大多数都有0-2。那么是否有一种语法让我只能使用EXACTLY 01和12提取文件?

1 个答案:

答案 0 :(得分:1)

您可以通过包含前面的下划线并选择带有_01和_12而不是01和12的文件来进一步指定搜索。我从未使用过括号语法,但我的理解是它是为了匹配单个字符的范围而不是几个。您可以从两次全局搜索中创建loc1数组获得更好的运气:

loc1_01 = glob.glob('*_01*.txt')
loc1_12 = glob.glob('*_12*.txt')

或者如果您想要一行代码:

loc1 = [glob.glob('*_01*.txt')[0], glob.glob('*_12*.txt')[0]]