Problema recursividad

Batista, Facundo FBatista en uniFON.com.ar
Mar Ene 6 17:37:41 CET 2004


Pepe Lloret escribió:

#- def procesar_carpeta(path):
#-    "Procesa la carpeta y genera el album de fotos de la misma"
#- 
#-    if isdir(path):
#-       lista_directorio=listdir(path)
#-       chdir(path)
#-       print lista_directorio
#-       for fichero in lista_directorio[:]:
#- 
#-          if isdir(fichero):
#-             procesar_carpeta(fichero)
#- 
#-          if isfile(fichero):
#-             print 'Fichero : ',fichero
#- 
#-    else:
#-       print 'No se puede generar el album de ',path

Ufff, costó.

Regla de programación: Nunca asumas que una cosa pueda tener solamente
algunos estados y no verifiques el resto. Para este caso, reemplaza los dos
if del lazo más interior por algo así:

         if os.path.isdir(fichero):
            procesar_carpeta(fichero)                         
         elif os.path.isfile(fichero):                                  
            print 'Fichero : ',fichero
         else:
            print "Ni dir ni file"

Una vez que hice eso, me di cuenta del error: no estás volviendo al
directorio inicial. Siempres entras pero nunca sales...

.	Facundo





. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .
ADVERTENCIA  

La información contenida en este mensaje y cualquier archivo anexo al mismo,
son para uso exclusivo del destinatario y pueden contener información
confidencial o propietaria, cuya divulgación es sancionada por la ley. 

Si Ud. No es uno de los destinatarios consignados o la persona responsable
de hacer llegar este mensaje a los destinatarios consignados, no está
autorizado a divulgar, copiar, distribuir o retener información (o parte de
ella) contenida en este mensaje. Por favor notifíquenos respondiendo al
remitente, borre el mensaje original y borre las copias (impresas o grabadas
en cualquier medio magnético) que pueda haber realizado del mismo. 

Todas las opiniones contenidas en este mail son propias del autor del
mensaje y no necesariamente coinciden con las de Telefónica Comunicaciones
Personales S.A. o alguna empresa asociada. 

Los mensajes electrónicos pueden ser alterados, motivo por el cual
Telefónica Comunicaciones Personales S.A. no aceptará ninguna obligación
cualquiera sea el resultante de este mensaje. 

Muchas Gracias.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20040106/d0d76d4a/attachment.html>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es