2016-05-02 7 views
0

Ich versuche, nützliche Fehlermeldungen aus dem ftplib.all_errors zu extrahieren, ich fange 550 /dir.: No such file or directory, aber ich möchte isolieren, ob es eine falsche Datei oder ein falsches Verzeichnis ist. Bisher habe ich:Fehlerbehandlung mit Python ftplib.all_errors

try: 

    //some code 

except ftplib.all_errors,e: 
    print(e) 

Welches ist definitiv nicht die beiden Filterung.

Gibt es bekannte Methoden, dies zu tun? Ich habe mich dem genähert, indem ich den Verzeichnisbaum nach einer Datei durchsucht habe, die existiert, aber es war zeitaufwendig.

+0

Was ist im 'try' Block. Auch der Fehler scheint mir eindeutig zu sein, Sie versuchen, eine Ressource hochzuladen/herunterzuladen, die nicht existiert. Sie können nicht sagen, es ist eine Datei oder ein Verzeichnis, wenn es nicht existiert. –

Antwort

0

Ich glaube nicht, es gibt eine Möglichkeit festzustellen, ob es sich ausschließlich um eine falsche Datei oder ein falsches Verzeichnis handelt. Basierend auf dem folgenden FTP Statuses/Errors gibt es keinen Fehler, der ein Verzeichnis explizit von einer falschen Datei isoliert. Der beste Ansatz, den ich dabei sehe, ist, zuerst den Block in Ihrer try-Anweisung auszuführen, und wenn er den 550-Fehler zurückgibt, verwenden Sie einen Rückwärts-Breadcrumbing-Ansatz, um das Problem zu isolieren.