Hvordan bruke FTP i Python?

Hvordan bruke FTP i Python?
Har du noen gang brukt et hvilket som helst versjonskontrollsystem eller skylettverkssystem der du og kollegene kan oppdatere dataene og hente filene? Hvis ikke, vil denne artikkelen være veldig gunstig for deg. Du kan lage Python -programmer som utfører flere autonome FTP -oppgaver ved hjelp av FTPLIB -pakken i Python. For å laste ned filer og administrere dem offline, kan brukere øyeblikkelig koble seg til noe som en FTP -server. Innenfor denne artikkelen vil vi diskutere Python -programmer for å bruke FTP -serveren og få tilgang til filene på det lokale systemet.

Eksempel 01:

La oss komme i gang med det første eksemplet på Python ved å bruke FTP i programmene sine. For dette har vi brukt Spyder 3 -verktøyet for Python -programmet i Windows 10 -systemet. Dette skriptet må først etablere en forbindelse til en FTP -server. Vi har laget en ny fil som heter “Test.py ”i Spyder 3 -verktøyet og lagret det i den respektive Spyder -mappen. Vi har startet denne koden med importen av "FTPLIB" -biblioteket for å bruke FTP i Python.

Etter dette har vi prøvd å koble oss til en FTP -server ved hjelp av den offisielle url i.e., “FTP.nluug.NL ”. Denne URLen har blitt brukt innenfor "FTP" -funksjonen via bruk av "FTPLIB" -biblioteket i Python. Returresultatet for denne FTP -funksjonen vil bli lagret i “FTP” -objektet “F”. Ved å bruke dette FTP -objektet “F”, har vi brukt LOGIN () -funksjonen til FTP for å logge inn fra FTP -brukeren ved å bruke det anonyme brukernavnet, og det er passord eller e -post til Logg inn. Vi har definert en tom liste "V" som lagrer listen over dokumenter og kataloger som er bosatt i rotmappen til denne FTP -serveren. Denne "V" -listen har brukt "vedlegg ()" -funksjonen til Python for å sette inn alle filene og katalogene i form av en matrise som er bosatt i den nåværende arbeidskatalogen selv i "V" -listen via "DIR" -funksjonen.

Etter dette har FTP -objektet blitt brukt til å lukke tilkoblingen til serveren via bruken av avsluttet () -funksjonen til FTP -biblioteket. Etter dette har vi brukt "V" -listen i "for" -løkken for å lese all sin datalinje for linje og skrive ut den alle ved hjelp av "print" -funksjonen sammen med linjevariabelen, ta hvert dokument eller katalog som en element i en liste. Koden vår er nå fullført, og vi har lagret den for å utføre.

Importer ftplib
f = ftplib.FTP ("FTP.nluug.nl ")
f.Logg inn ("Anonym", "FTPLIB-EXPLEM-1")
v = []
f.dir (v.vedlegg)
f.slutte()
for linje i V:
print ("-", linje)

Når vi kjører denne koden i Spyder 3 ved hjelp av kjøreknappen, har vi listen over alle filer som er tilgjengelige på rotkatalogen til FTP -serveren på vår Spyder -konsoll. Du kan se at det viste privilegiene som ble tildelt hver katalog sammen med opprettelsesdatoen og filnavnet etter det. Det er noen speilfiler i listen så vel som symlinks.

Eksempel 02:

Innenfor vårt første eksempel har vi sett på hvordan du lister opp alle filene og mappene som er bosatt i den gjeldende rotmappen på FTP -serveren. Nå vil vi liste opp dokumentene fra den spesifikke mappen på FTP -serveren. For dette har vi brukt ganske samme kode som vi brukte i det første eksemplet. Dermed har vi startet dette eksemplet med importen av det samme FTPLIB -biblioteket i Python for å koble programmet vårt med FTP -serveren. Vi har koblet programmet vårt med den samme FTP -serveren ved å bruke FTP -funksjonen og anonymt logge inn fra det via Login () -funksjonen til Python.

Etter vellykket innlogging ved hjelp av objektet “F” av FTP -pakken med Python, har vi initialisert en tom liste “V” som vil bli brukt videre. "CWD ()" -funksjonen til FTP -modulen i Python er blitt brukt til å endre den gjeldende arbeidskatalogen og flytte innenfor en ny mappe i.e., “Pub” av vår FTP -server. Nå er vi på et annet sted på FTP -serveren og bruker appendfunksjonen for å sette inn alle filene i "pub" -mappen i listen "V" ved hjelp av "DIR" -funksjonen.

Avslutt () -funksjonen har blitt brukt til å avslutte FTP -serveren. "For" -sløyfen er her for å skrive ut hver fil i denne "pub" -mappen som et eget linjeelement.

Importer ftplib
f = ftplib.FTP ("FTP.nluug.nl ")
f.Logg inn ("Anonym", "FTPLIB-EXPLEM-1")
v = []
f.cwd ('/pub/')
f.dir (v.vedlegg)
f.slutte()
for linje i V:
print ("-", linje)

Etter utførelsen av denne oppdaterte koden, har vi alle filene og mappene fra "pub" -mappen som vises på konsollskjermen.

Eksempel 03:

Ovennevnte to eksempler handlet om å liste opp filene fra FTP -serveren på konsollen din. Nå skal vi se på bruken av Python GetFile () -funksjonen til FTP for å hente filene fra FTP -serveren inn i vårt lokale system.

For dette har vi definert “getFile” -funksjonen med “F” -objektet og filnavnet. Try-Catch Exception Handling har blitt brukt her for å åpne den respektive filen fra en hvilken som helst mappe på serveren, lage sin kopi ved hjelp av "skriv" -funksjonen og lagre den i det lokale systemet ved hjelp av "RetBinary" -funksjonen. Hvis det ikke skjer, vil unntatt delen kaste et unntak.

Etter dette vil forbindelsen til serveren bli opprettet og vi flytter til "pub" -mappen. GetFile () -funksjonen har blitt kalt tre ganger for å hente forskjellige filer hver gang. Endelig har vi lukket forbindelsen via avslutning () -funksjonen.

Importer ftplib
def getFile (f, filnavn):
prøve:
f.Retbinary ("Ret" + filnavn, åpent (filnavn, 'WB').skrive)
unntatt:
Print ("Feil")
f = ftplib.FTP ("FTP.nluug.nl ")
f.Logg inn ("Anonym", "FTPLIB-EXPLEM-1")
f.cwd ('/pub/')
GetFile (F, 'DB')
GetFile (F, 'Crypto')
GetFile (F, 'Favicon.ICO ')
f.slutte()

Når vi kjører dette programmet, har vi alle tre filene i det lokale systemet som vist.

Konklusjon

Denne artikkelen inneholder en stor forklaring på formålet med å bruke FTP -serveren i Python -kode: Hent online -filene på ditt lokale system. Vi har diskutert hvordan filene fra FTP -serveren kan vises i konsollen og hvordan vi lett kan hente dem ved å bruke FTP -funksjonene.