Учитывая список имен файлов, я хочу создать полный путь для этих файлов, если они существуют в данном каталоге или в его подкаталогах. Прямо сейчас я использую этот кодСамый быстрый способ поиска списка файлов в каталоге
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' может помочь. Ранний выход, если вы найдете их всех тоже. – Blorgbeard
Посмотрите на этот материал, он использует собственные вызовы https://docs.python.org/3/library/os.html#os.scandir – Andrey