Come usare FTP in Python?

Come usare FTP in Python?
Hai mai utilizzato qualsiasi sistema di controllo della versione o sistema di rete cloud in cui tu e i tuoi colleghi potete aggiornare i dati e recuperare i file? In caso contrario, questo articolo sarebbe molto utile per te. È possibile creare programmi Python che svolgono diverse attività FTP autonome utilizzando il pacchetto FTPLIB in Python. Per scaricare file e gestirli offline, gli utenti possono connettersi istantaneamente a qualcosa come un server FTP. All'interno di questo articolo, discuteremo dei programmi Python per utilizzare il server FTP e accedere ai suoi file sul sistema locale.

Esempio 01:

Iniziamo con il primo esempio di Python usando FTP nei suoi programmi. Per questo, abbiamo utilizzato lo strumento Spyder 3 per il programma Python nel sistema Windows 10. Questo script deve prima stabilire una connessione a un server FTP. Abbiamo creato un nuovo file chiamato "Test.Py ”nello strumento Spyder 3 e lo ha salvato nella rispettiva cartella Spyder. Abbiamo iniziato questo codice con l'importazione della libreria "ftplib" per utilizzare FTP in Python.

Dopo questo, abbiamo cercato di connetterci a un server FTP usando il suo URL ufficiale I.e., “FTP.nluug.NL ". Questo URL è stato utilizzato all'interno della funzione "FTP" tramite l'uso della libreria "ftplib" di Python. Il risultato di ritorno per questa funzione FTP verrebbe salvato nell'oggetto "FTP" "F". Usando questo oggetto FTP "F", abbiamo utilizzato la funzione di login () di FTP per accedere all'utente FTP utilizzando il nome utente anonimo e la password o e -mail per accedere. Abbiamo definito un elenco vuoto "V" che memorizzerà l'elenco di documenti e directory residenti nella cartella principale di questo server FTP. Questo elenco "V" ha utilizzato la funzione "Append ()" di Python per inserire tutti i file e le directory sotto forma di un array che risiede all'interno della directory di lavoro attuale stessa con l'elenco "V" tramite la funzione "DIR".

Successivamente, l'oggetto FTP è stato utilizzato per chiudere la connessione al server tramite l'uso della funzione Quit () della libreria FTP. Dopo questo, abbiamo utilizzato l'elenco "V" nel loop "per" per leggere tutta la sua riga di dati per riga e stamparla tutto utilizzando la funzione "stampa" insieme alla variabile di linea, prendendo ogni documento o directory come un elemento di un elenco. Il nostro codice è ora completato e l'abbiamo salvato per eseguire.

Importa ftplib
f = ftplib.Ftp ("ftp.nluug.nl ")
F.login ("anonimo", "ftplib-example-1")
v = []
F.Dir (v.aggiungere)
F.esentato()
per la linea in v:
print ("-", linea)

Durante l'esecuzione di questo codice in Spyder 3 utilizzando il suo pulsante Esegui, abbiamo l'elenco di tutti i file disponibili nella directory principale del server FTP sulla nostra console Spyder. Puoi vedere che ha visualizzato i privilegi assegnati a ciascuna directory insieme alla data di creazione e al nome del file dopo. Ci sono alcuni file di mirror nell'elenco e sintesi.

Esempio 02:

Nel nostro primo esempio, abbiamo esaminato come elencare tutti i file e le cartelle residenti nella cartella root corrente del server FTP. Ora elencheremo i documenti dalla cartella specifica del server FTP. Per questo, abbiamo utilizzato lo stesso codice che abbiamo usato nel primo esempio. Pertanto, abbiamo iniziato questo esempio con l'importazione della stessa libreria FTPLIB di Python per collegare il nostro programma con il server FTP. Abbiamo collegato il nostro programma con lo stesso server FTP utilizzando la funzione FTP e login in modo anonimo da esso tramite la funzione di accesso () di Python.

Dopo aver effettuato correttamente l'accesso utilizzando l'oggetto "F" del pacchetto FTP di Python, abbiamo inizializzato un elenco vuoto "V" che verrà utilizzato ulteriormente. La funzione "cwd ()" del modulo FTP in Python è stata utilizzata per modificare la directory di lavoro corrente e spostarsi all'interno di una nuova cartella i.e., "Pub" del nostro server FTP. Ora siamo in una posizione diversa del server FTP e utilizzando la funzione Append per inserire tutti i file della cartella "Pub" all'interno dell'elenco "V" utilizzando la funzione "DIR".

La funzione Quit () è stata utilizzata per uscire dal server FTP. Il loop "per" è qui per stampare ogni file in questa cartella "pub" come elemento di riga separato.

Importa ftplib
f = ftplib.Ftp ("ftp.nluug.nl ")
F.login ("anonimo", "ftplib-example-1")
v = []
F.cwd ('/pub/')
F.Dir (v.aggiungere)
F.esentato()
per la linea in v:
print ("-", linea)

Dopo l'esecuzione di questo codice aggiornato, abbiamo tutti i file e le cartelle della cartella "Pub" visualizzati nella schermata della console.

Esempio 03:

I due esempi di cui sopra riguardavano l'elenco dei file dal server FTP sulla console. Ora, daremo un'occhiata all'uso della funzione Python getFile () di FTP per recuperare i file dal server FTP nel nostro sistema locale.

Per questo, abbiamo definito la funzione "getfile" con l'oggetto "F" e il nome file. La gestione delle eccezioni Try-Catch è stata utilizzata qui per aprire il rispettivo file da qualsiasi cartella del server, creare la sua copia utilizzando la funzione "Scrivi" e salvala nel sistema locale utilizzando la funzione "Retrbinaria". Se ciò non accade, la parte tranne farà un'eccezione.

Successivamente, la connessione al server verrebbe stabilita e ci spostiamo nella cartella "Pub". La funzione getfile () è stata chiamata tre volte per recuperare diversi file ogni volta. Alla fine, abbiamo chiuso la connessione tramite la funzione Quit ().

Importa ftplib
def getfile (f, nome file):
Tentativo:
F.Retrbinary ("Retr" + fileName, Open (nome file, 'WB').scrivere)
tranne:
Stampa ("Errore")
f = ftplib.Ftp ("ftp.nluug.nl ")
F.login ("anonimo", "ftplib-example-1")
F.cwd ('/pub/')
getfile (f, 'db')
getfile (f, 'cripto')
getfile (f, 'Favicon.ICO ')
F.esentato()

Durante l'esecuzione di questo programma, abbiamo ottenuto tutti e tre i file nel sistema locale come mostrato.

Conclusione

Questo articolo contiene una grande spiegazione dello scopo di utilizzare il server FTP nel codice Python: recuperare i file online sul sistema locale. Abbiamo discusso di come i file del server FTP possono essere elencati nella console e come possiamo recuperarli facilmente usando le funzioni FTP.