一連の監視ディレクトリからファイルをバックアップする python プログラムを作成しています。ファイル システムの変更を検出するために Watchdog を使用しています。表示されるのは、変更されたファイルとフォルダーのリストだけです。
アプリケーションには、フォルダーリストを含めたり除外したりするオプションがありますが、パスを一致させて除外するか含めるかを確認する方法がわかりません。
問題は、ツリーがあり、ユーザーが除外されたフォルダー内にあるフォルダーを含めることを選択した場合です。
サンプル ファイル ツリー
/folder1/folder2/folder3/folder4/folder5
含む
/folder1
/folder1/folder2/folder3/folder4
除外
/folder1/folder2
ウォッチドッグによって返された文字列のパス セクションの開始を比較するために startswith() を使用することを考えましたが/folder1/folder2/folder3/folder4/folder5
、インクルード フォルダー リストとエクスクルード フォルダー リストで一致します。
誰かがこれにアプローチするための最良の方法を提案できれば、私は非常に感謝しています. os.walk を使用してディレクトリを再帰的に処理していれば、簡単に機能させることができましたが、リストが与えられただけでは、その方法がわかりません。それは私を夢中にさせます。