[英]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.