2017-07-30 9 views
3

FTPサーバー上のルートディレクトリの合計サイズを調べようとしています。しかし、私はルートにあるディレクトリの1つにアクセスできません。forループ内の項目を除外する

私はルートにディレクトリのサイズを合計するために、この機能を使用したい:

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

これは、エラーが発生します。

ftplib.error_perm: 550 Could not get file size. 

私はANを除くに関する任意のドキュメントを見つけることができませんforループからの項目。

+1

をキャッチ。エラーの場合は 'try:except'と' continue'でラップしてください。 – AChampion

答えて

2

はちょうどあなたが例外を意味するエラーによって、私が想定した例外とpassまたはcontinue、例えば:

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

これは例外ありがとうを取り除いた! –

関連する問題