Avec python il est possible d'écrire des scipts permettant de récupérer des fichiers sur un serveur distant en passant par ftp grâce au module ftplib, exemple simple:
from ftplib import FTPftp = FTP('address')ftp.login('anonymous','')directory = 'toto/file/' # directory destination on the serverftp.cwd(directory) # go to the directoryyyy = []ftp.retrlines('NLST', yyy.append) # Get list of all files in directory# Download the first file yyy[0]e = 1n = 0while e == 1 and n < 10 :try:ftp.retrbinary('RETR ' + yyy[0], open(yyy[0], 'wb').write)e = 0except:n = n + 1print("Error while downloading")print 'Closing FTP connection'ftp.close()
Cependant quand on execute le script ci-dessus le fichier est sauvegardé dans
le répertoire courant. Si on veut sauvegrader le(s) fichier(s) dans un répertoire donné il suffit d'utiliser os.chdir() (source) et d'ajouter les lignes suivantes dans le script:
import osLocalDestinationPath = '/Desktop/FilesDownload/' # Changer here for your local directoryos.chdir(LocalDestinationPath)
Dans l'exemple ci-dessus les fichiers obtenus par ftp seront téléchargés sous le répertoire fictif ici: '/Desktop/FilesDownload/'
Recherches associées
| Liens | Site |
|---|---|
| ftplib | python doc |
| os.chdir() | python doc |
| how to specify local destination folder when retrieving files from FTP | stackoverflow |
| How to download a file via FTP with Python ftplib | stackoverflow |
| ftp.retrbinary() help python | stackoverflow |
