Home / Programmazione / Python / Connessione FTP con Python
Mattepuffo

Connessione FTP con Python

Connessione FTP con Python

Python già include una libreria per la connessione a server FTP.

In giro per il web ho visto parecchie guide su comme connettersi a FTP e recuperare la lista dei file, ma tutte usano funzioni che sono ormai deprecate (come FTP.dir e FTP.nlst).

Noi vederemo un esempi usando invece la funzione consigliata FTP.mlsd!

Creiamo quindi una semplice classe che si connette al server FTP, cambia directory e recupera la lista dei files:

from ftplib import FTP

class FtpConnection(object):
    
    HOST = ''
    USERNAME = ''
    PASSWORD = ''
    ftp = ''
    
    def __init__(self):
        self.ftp = FTP(self.HOST)
        self.ftp.login(self.USERNAME, self.PASSWORD)
        self.ftp.cwd('Volume_1')
        
    def get_files(self):
        l = self.ftp.mlsd()
        for i in l:
            if i[1]['type'] == 'file':
                print(i[0])
        self.ftp.quit()

La funzione cwd ci permette di cambiare directory all'interno del server.

Sotto abbiamo la nostra funzione get_files che usa appunto mlsd per recuperare e stampare la lista dei file.

La funzione mlsd non è proprio intituitiva al primo impatto.

Qua potete seguire una guida per capire le varie funzionalità.

Comunque come vedete facciamo anche un test sul tipo, facendo in modo di non stampre le eventuali directory.

Ciao!