>>214
それと似た感じでパターン(>199で言うところのfilters)を1関数につき1種にして
lst1 = filter_search('条件1',関数1) #条件に一致したファイルパスのリストを返す …@
list2 = filter_search('条件2',関数2) # lst1をcallback2で使えたりする余地
みたいなことや
見ため的にclassにして
filter_search('/path').fltr('条件1',callback1).fltr('条件2',callback2) …A
みたいな形にしていました

しかしcallbackの内容次第ではファイルが消えたりするので
条件12それに対応する関数12の依存関係が強いなと気付き
lst12 = filter_search(['条件1','条件2']) #対応するcallbackを与える or lst12を再帰させる
みたいに、あえて依存関係を作った方がいいかな?と
(しかし>199のようにcallback割当が野暮ったくなる・・みたいな結果に)

”非同期的にファイルが消えたりリネームされる?されても大丈夫?”という部分がスッキリすれば
(特に大量のファイル数を扱うわけでもないし)214さんの方法や@、Aの方法を取っていたとおもうし
そうでなくとも、コメントアウトで説明入れとけばいいのでは?とも思います
ただ、上手い感じに依存関係をコードの視覚的にパッケージできないだろうかとも思ったのです