ftputil — high-level FTP client library for Python

The ftputil Python library is a high-level interface on top of the ftplib module. The FTPHost objects generated with ftputil allow many operations similar to those of os, os.path and shutil.

Here are two examples:

#!python
# Download some files from the login directory.
with ftputil.FTPHost('ftp.domain.com', 'user', 'secret') as host:
    names = host.listdir(host.curdir)
    for name in names:
        if host.path.isfile(name):
            # Remote name, local name
            host.download(name, name)

# Check if a remote text file contains "ftputil".
# Stop reading as soon as the string is found.
with host.file("some_file") as remote_fobj:
    for line in remote_fobj:
        if "ftputil" in line:
            found = True
            break
    else:
        found = False

See the documentation for all the features.