既存のファイルリストをワイルドカードでフィルタする
ドラッグアンドドロップで与えられたファイルリストを、ワイルドカードでフィルタしたい場合があります。
そういう場合はglobではなくfnmatchモジュールを使います、pythonではワイルドカードとは呼ばずに「Unix ファイル名のパターンマッチ」と呼ぶそうです。
>>> import fnmatch >>> >>> a = ["test.txt","test.py","test.png","foo.txt"] >>> #ファイルリストをフィルタリング >>> fnmatch.filter(a,"*.txt") ['test.txt', 'foo.txt'] >>> >>> #単一のファイルを判断 >>> fnmatch.fnmatch("test.txt", "*.txt") True >>> #大文字、小文字を判断する場合はfnmatchcase >>> fnmatch.fnmatchcase("test.TXT", "*.txt") False
fnmatchって覚えにくい名前だから、うっかり忘れていた。
忘れないためにもメモメモ・・・