使用fnmatch查找名称模式的所有文件夹

时间:2015-07-03 10:12:09

标签: python python-3.x

我有一系列带有命名模式的文件夹: %Y-%间 - %d 我想使用fnmatch找到它们并将它们附加到列表中。 我目前正在使用此代码:

    for root, subs, files in os.walk('.'):
      for name in subs:
        if fnmatch.fnmatch(name, '%y-%m-%d'):
                folderlist.append(os.path.join(root, name))

但这会产生一个空的文件夹列表。我知道这个的原因(%y-%m-%d不是fnmatch理解的正确模式,但我不知道如何绕过它。

2 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

var itemToMove = Your1stCollectionProperty.ElementAt(indexOfItemToRemove);
Your1stCollectionProperty.Remove(itemToMove);
Your2ndCollectionProperty.Add(itemToMove);

答案 1 :(得分:0)

我认为re会更好而不是fnmatch,但这里是:

import os
from fnmatch import fnmatch

folderlist = []
for root, subs, files in os.walk('.'):
    for name in subs:
        if fnmatch(name, '[12][0123456789][0123456789][0123456789]-[01][0123456789]-[0123][0123456789]'):
            folderlist.append(os.path.join(root, name))

print(folderlist)
相关问题