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 FTP
ftp = FTP('address')
ftp.login('anonymous','')
directory = 'toto/file/' # directory destination on the server
ftp.cwd(directory) # go to the directory
yyy = []
ftp.retrlines('NLST', yyy.append) # Get list of all files in directory
# Download the first file yyy[0]
e = 1
n = 0
while e == 1 and n < 10 :
try:
ftp.retrbinary('RETR ' + yyy[0], open(yyy[0], 'wb').write)
e = 0
except:
n = n + 1
print("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 os
LocalDestinationPath = '/Desktop/FilesDownload/' # Changer here for your local directory
os.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 |