Eliminación eficiente de subdirectorios en dirnames de os.walk
En un mac en python 2.7 al caminar a través de directorios usando os.walk mi script pasa por 'apps', es decir, appname.app, ya que en realidad son solo directorios de sí mismos. Bueno, más tarde en el procesamiento, estoy cometiendo errores al pasar por ellos. No quiero revisarlos de todos modos, por lo que para mis propósitos sería mejor ignorar esos tipos de 'directorios'.
Así que esta es mi solución actual:
for root, subdirs, files in os.walk(directory, True):
for subdir in subdirs:
if '.' in subdir:
subdirs.remove(subdir)
#do more stuff
Como puede ver, el segundo bucle for se ejecutará para cada iteración de subdirios, lo cual no es necesario ya que la primera pasada elimina todo lo que quiero eliminar de todos modos.
Debe haber una manera más eficiente de hacer esto. ¿Algunas ideas?