Cómo mejorar la búsqueda con os.walk y fnmatch
Estoy usandoos.walk
yfnmatch
con filtros para buscar en el disco duro de una PC todos los archivos de imagen. Esto funciona perfectamente bien, pero es extremadamente lento, ya que toma alrededor de 9 minutos buscar +70000 imágenes.
¿Alguna idea sobre cómo optimizar este código para correr más rápido? ¿Cualquier otra sugerencia?
Estoy usando python 2.7.2 por cierto.
import fnmatch
import os
images = ['*.jpg', '*.jpeg', '*.png', '*.tif', '*.tiff']
matches = []
for root, dirnames, filenames in os.walk("C:\\"):
for extension in images:
for filename in fnmatch.filter(filenames, extension):
matches.append(os.path.join(root, filename))