Python: download a file from an FTP server Python: download a file from an FTP server python python

Python: download a file from an FTP server


requests library doesn't support ftp links.

To download a file from FTP server you could:

import urllib urllib.urlretrieve('ftp://server/path/to/file', 'file')# if you need to pass credentials:#   urllib.urlretrieve('ftp://username:password@server/path/to/file', 'file')

Or:

import shutilimport urllib2from contextlib import closingwith closing(urllib2.urlopen('ftp://server/path/to/file')) as r:    with open('file', 'wb') as f:        shutil.copyfileobj(r, f)

Python3:

import shutilimport urllib.request as requestfrom contextlib import closingwith closing(request.urlopen('ftp://server/path/to/file')) as r:    with open('file', 'wb') as f:        shutil.copyfileobj(r, f)


You Can Try this

import ftplibpath = 'pub/Health_Statistics/NCHS/nhanes/2001-2002/'filename = 'L28POC_B.xpt'ftp = ftplib.FTP("Server IP") ftp.login("UserName", "Password") ftp.cwd(path)ftp.retrbinary("RETR " + filename, open(filename, 'wb').write)ftp.quit()


Try using the wget library for python. You can find the documentation for it here.

import wgetlink = 'ftp://example.com/foo.txt'wget.download(link)