我正在使用Python 3.9遍历文件目录,并将文件发送到多进程队列。该目录有超过10m的文件,构建和处理初始文件列表可能需要长达20分钟。如何改进这个问题呢?也许有一种方法可以在不将它们首先加载到内存中的情况下递归地处理这些文件?
path = "/directory-of-files"
def is_valid_file():
#returns true if file meets conditions
return True
files = glob.glob(path + '/**', recursive=True)
files = filter(is_valid_file, files) #Filter valid files only
results = pool.map(setMedia, files)
glob.iglob
来转换上面的代码? - eri0oglob.glob
替换为glob.iglob
,@eri0o 认为这很明显。 - Aivean