ftplib

An FTP client class and some helper functions.

Based on RFC 959: File Transfer Protocol (FTP), by J. Postel and J. Reynolds

Example:

>>> from ftplib import FTP
>>> ftp = FTP('ftp.python.org') # connect to host, default port
>>> ftp.login() # default, i.e.: user anonymous, passwd anonymous@
'230 Guest login ok, access restrictions apply.'
>>> ftp.retrlines('LIST') # list directory contents
total 9
drwxr-xr-x   8 root     wheel        1024 Jan  3  1994 .
drwxr-xr-x   8 root     wheel        1024 Jan  3  1994 ..
drwxr-xr-x   2 root     wheel        1024 Jan  3  1994 bin
drwxr-xr-x   2 root     wheel        1024 Jan  3  1994 etc
d-wxrwxr-x   2 ftp      wheel        1024 Sep  5 13:43 incoming
drwxr-xr-x   2 root     wheel        1024 Nov 17  1993 lib
drwxr-xr-x   6 1094     wheel        1024 Sep 13 19:07 pub
drwxr-xr-x   3 root     wheel        1024 Jan  3  1994 usr
-rw-r--r--   1 root     root          312 Aug  1  1994 welcome.msg
'226 Transfer complete.'
>>> ftp.quit()
'221 Goodbye.'
>>>

A nice test that reveals some of the network dialogue would be: python ftplib.py -d localhost -l -p -l

Functions

ftpcp(source, sourcename, target[, ...]) Copy file from one FTP-instance to another.
parse150(resp) Parse the ‘150’ response for a RETR request.
parse227(resp) Parse the ‘227’ response for a PASV request.
parse229(resp, peer) Parse the ‘229’ response for a EPSV request.
parse257(resp) Parse the ‘257’ response for a MKD or PWD request.
print_line(line) Default retrlines callback to print a line.
test() Test program.

Classes

FTP([host, user, passwd, acct, timeout]) An FTP client class.
FTP_TLS([host, user, passwd, acct, keyfile, ...]) A FTP subclass which adds TLS support to FTP as described in RFC-4217.
Netrc([filename]) Class to parse & provide access to ‘netrc’ format files.