Обработка ошибок с помощью Python ftplib.все ошибки

Я пытаюсь извлечь полезные сообщения об ошибках из ftplib.all_errors, я ловлю550 /dir.: No such file or directory, но я хочу изолировать, является ли это неправильный файл или неправильный каталог. До сих пор у меня есть:

try: 

    //some code

except ftplib.all_errors,e:
     print(e)

Который определенно не фильтрует два.

Есть ли какие-то известные способы сделать это? Я подходил к этому, ища в дереве каталогов файл, который существует, но это было время дорого.

1 ответ

  1. Я не думаю, что есть какой-либо способ определить, является ли его исключительно неправильный файл или неправильный каталог. Основываясь на следующих статусах/ошибках FTP , нет ошибки, которая явно изолирует каталог от неправильного файла. Лучший подход, который я вижу, делая это, сначала запустите блок в своем tryоператоре, и если он возвращает 550ошибку, используйте обратный подход панировки, чтобы изолировать проблему.