0

私はそのようなディレクトリ構造を持っていると思います

Directory of C:\treeofbkup

10/17/2012  01:59 PM    <DIR>          .
10/17/2012  01:59 PM    <DIR>          ..
10/17/2012  01:59 PM             7,209 index
10/17/2012  01:59 PM    <DIR>          objects
               1 File(s)          7,209 bytes
               3 Dir(s)  912,672,129,024 bytes free

フォルダに含まれるファイルを使用しますobjects

私の質問は、名前に関係なくファイルがあるかどうかを確認する方法がありますかobjects(たとえば、そのフォルダ名の知識がない場合)?ディレクトリ構造のパスを手動でウォークスルーするためのforループを作成せずに?

def search(path, file):
    for  (dirpath, dirnames, filenames) in os.walk(path):
        for f in filenames:
            if file == f:
                return True #hey look here is my file
    return False #oops couldnt find your file sorry

私が求めている解決策は、とのようなものdirectory_set = set()ですif directory_set.contains(path)。この質問が一部の人を混乱させる場合は申し訳ありません

4

1 に答える 1

2

答えはノーだ。少なくとも一度はツリーをたどる必要があり、頻繁に再利用したい場合は、ファイル名のルックアップ テーブルを可能なディレクトリ (pickled または sqlite3 dbase など) に保存できます。

于 2012-10-17T01:19:07.743 に答える