Scaricare file da FTP con Pyhon

Mattepuffo's logo
Scaricare file da FTP con Pyhon

Scaricare file da FTP con Pyhon

Specificando che useremo Python 3, ma anche che non dovrebbe cambiare molto rispetto alla 2, vediamo come scaricare un file tramite FTP.

Non useremo librerie esterne, ma useremo ftplib.

Questa la classe:

from ftplib import FTP


class FtpConnection:
    HOST = ''
    USERNAME = ''
    PASSWORD = ''
    ftp = ''

    def __init__(self):
        self.ftp = FTP(self.HOST)
        self.ftp.login(self.USERNAME, self.PASSWORD)
        self.ftp.cwd('download_dir/')

    def download(self):
        listFiles = self.ftp.nlst()
        listFiles.sort()
        self.ftp.retrbinary("RETR " + listFiles[-1], open(listFiles[-1], 'wb').write)
        self.ftp.quit()

Qui abbiamo un caso un pò particolare di utilizzo.

Da una lista di file, presenti nella directory download_dir, dovevo scaricare solo l'ultimo file aggiunto.

Essendo nominati in maniera consecutiva con data:

  • ho estrpolato la lista di file presenti con nlst
  • ho ordinato la lista con sort
  • ho scaricato l'ultimo file della lista usando il [-1]

Il file lo scarichiamo usando la funzione retrbinary ed usando il comando RETR (comando FTP).

Enjoy!


Condividi

Commentami!