Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Error Catching & FTP

Tags:

python

ftp

Trying to get a handle on the FTP library in Python. :)

Got this so far.

from ftplib import FTP

server = '127.0.0.1'
port = '57422'

print 'FTP Client (' + server + ') port: ' + port

try:
    ftp = FTP()
    ftp.connect(server, port, 3)
    print 'Connected! Welcome msg is \"' + ftp.getwelcome() + '\"'

    ftp.cwd('\\')

    x = '1'
    currentDir = ''

except: //***What do I put here?***

http://docs.python.org/library/ftplib.html says there are several error codes I can catch but I can't do

except: ftplib.all_errors

Second question. :P How can I retrieve more specific information on the error? Perhaps the error code?

Very new to python (an hour in or so).

like image 233
bobber205 Avatar asked Jul 02 '10 23:07

bobber205


2 Answers

I can't do

except: ftplib.all_errors

Of course not, that's simply bad syntax! But of course you can do it with proper syntax:

except ftplib.all_errors:

i.e., the colon after the tuple of exceptions.

How can I retrieve more specific information on the error? Perhaps the error code?

except ftplib.all_errors as e:
  errorcode_string = str(e).split(None, 1)[0]

E.g., '530' will now be the value of errorcode_string when the complete error message was '530 Login authentication failed'.

You can find the rest of the exception in the docs.

like image 65
Alex Martelli Avatar answered Oct 20 '22 20:10

Alex Martelli


You write

except Exception, e:  #you can specify type of Exception also
   print str(e)
like image 41
jcao219 Avatar answered Oct 20 '22 22:10

jcao219