2016-12-31 3 views
1

私は画像のディレクトリos.walkを使用してリスト内のディレクトリをスキップしますか?

def jpg_descended(folder): 
    matches = [] 
    for root, dirnames, filenames in os.walk(unicode(folder)): 
     for extension in ('*.jpg', '*.jpeg', '*.png'): 
      for filename in fnmatch.filter(filenames, extension): 
        matches.append(os.path.join(root, filename)) 
    return sorted(matches, key=os.path.getmtime, reverse=True) 

からリストを作成する作業機能を持っていますが、どのように私はそれが私がリストに入れているディレクトリをスキップするために得ることができますか?

excludes = ["october", "december"] 

私はそれは私が除外リストに追加することができ、「10月」または「12月」または任意の他のディレクトリという名前のディレクトリに何も返さないようにしたいです。

何かすべての助けがありがとうございます。

+0

[私はディレクトリを除外するにはどうすればよいos.walk使用した場合の可能性のある重複()?他の方法は働いていません](http://stackoverflow.com/questions/24883084/how-do-i-exclude-directories-when-using-os-walk-other-methods-havent-worked) –

答えて

2

お客様の要件を満たすディレクトリを削除して、dirnamesを編集することができます。 os.walkの場合、topdown=True(デフォルト)の場合、これらのディレクトリは列挙されません。

それは例えば、場所編集中であることを確認してください:

dirnames[:] = [dirname for dirname in dirnames if dirname not in excludes] 
+0

ああ!できます。ありがとうございました。 – dxrth

関連する問題