排除for循环中的项

时间:2017-07-30 14:42:52

标签: python for-loop ftp ftplib

我试图找到FTP服务器上根目录的总大小。但是,我无法访问根目录中的一个目录。

我想使用此函数来计算根目录中的目录大小:

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

这会产生错误:

ftplib.error_perm: 550 Could not get file size.

我找不到任何关于从for循环中排除项目的文档。

1 个答案:

答案 0 :(得分:2)

抓住例外passcontinue,例如:

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