How to download files from an FTP server using Python?

Dr. Muniba Faiza
1 Min Read

In this article, we provide a simple Python script to download files from an FTP server using Python.

Write the FTP address and your username and password in the place specified below. Save this file in Python format (for example, download.py) and run it as:

$ python3 download.py



#!/usr/bin/env python3

import fnmatch
from ftplib import FTP

ftp = FTP('ftp address')

#if no username and password is required.
ftp.login()

#if username and password is required.         
ftp.login('your-username','your-password')    

# if you have to change directory on FTP server.
ftp.cwd('/path/to/dir/')

# Get all files
files = ftp.nlst()

# Download files
for file in files:
    if fnmatch.fnmatch(file, '*.tar.gz'):   #To download specific files.
        print("Downloading..." + file)

        try:
            ftp.retrbinary("RETR " + file ,open("/path/to/dir/on/your/local/system/" + file, 'wb').write)

        except EOFError:    # To avoid EOF errors.
            pass

ftp.close()


Share This Article
Dr. Muniba is a Bioinformatician based in New Delhi, India. She has completed her PhD in Bioinformatics from South China University of Technology, Guangzhou, China. She has cutting edge knowledge of bioinformatics tools, algorithms, and drug designing. When she is not reading she is found enjoying with the family. Know more about Muniba
Leave a Comment

Leave a Reply