2017-07-30 2 views
3

J'essaie de trouver la taille totale d'un répertoire racine sur un serveur FTP. Cependant, je n'ai pas accès à l'un des répertoires de la racine.Exclusion d'un élément dans une boucle for

Je veux utiliser cette fonction pour additionner les tailles des répertoires dans la racine:

size = 0 
for filename in ftp.nlst("."): 
    ftp.cwd(filename) 
    size += ftp.size(".")  
print(size) 

Cela génère l'erreur:

ftplib.error_perm: 550 Could not get file size. 

Je ne peux trouver aucune documentation sur l'exclusion d'une élément d'une boucle for.

+1

Je suppose par erreur que vous voulez dire exception. Juste envelopper dans un 'essayer: sauf» et 'continuer» sur les erreurs. – AChampion

Répondre

2

attraper Juste l'exception et pass ou continue, .: par exemple

for filename in ftp.nlst("."): 
    try: 
     ftp.cwd(filename) 
     size += ftp.size(".")  
    except ftplib.error_perm: 
     pass 
print(size) 
+0

Cela s'est débarrassé de l'exception merci! –