Spécifier le repértoire où sauvegarder les fichiers téléchargés avec ftp sous python

Published: 25 mars 2015

DMCA.com Protection Status

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