簡體   English   中英

在目錄中搜索文件列表的最快方法

[英]Fastest way to search for a list of files in directory

給定一個文件名列表,如果這些文件存在於給定目錄或其子目錄中,我想為這些文件創建完整路徑。 現在我用這段代碼

def construct_path(file_list, directory):
    file_path_list = []
    for name in file_list:
        for dir, subdir, filenames in os.walk(directory):
            if name in filenames:
                file_path_list.append(os.path.join(dir, name))

    return file_path_list

因此,這里正在為列表中的每個文件搜尋目錄。 有更快/更好的方法嗎?

您可以刪除file_list的循環並從此列表中刪除找到的文件,因此一旦找到所有文件,便可以返回結果:

def construct_path(file_list, directory):
    file_path_list = []
    for dir, subdir, files in os.walk(directory):
        for name in files:
            if name in file_list:
                file_path_list.append(os.path.join(dir, name))
                file_list.remove(name)
            if (len(file_list)==0): return file_path_list
    return file_path_list

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM