Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie FTP zum Hochladen von Dateien in Python

So verwenden Sie FTP zum Hochladen von Dateien in Python

WBOY
WBOYnach vorne
2023-04-29 09:49:133123Durchsuche

Einführung in FTP

FTP, File Transfer Protocol, ist ein Standardprotokoll für die Dateiübertragung im Netzwerk. Der FTP-Client kann Dateien von lokal auf den Server hochladen oder vom Server auf lokal herunterladen.

ftplib-Modul

Python bietet eine Standardbibliothek ftplib zum Implementieren von FTP-Client-Funktionen in Python. Mit ftplib können wir eine Verbindung zum FTP-Server herstellen und verschiedene FTP-Vorgänge ausführen, z. B. das Hoch- und Herunterladen von Dateien usw.

Code-Erklärung

Hier ist ein Beispielcode zum Hochladen von Dateien über FTP mit Python:

from ftplib import FTP

import argparse

def ftpconnect(host, username, password):
    ftp = FTP()
    ftp.connect(host, 21)
    ftp.login(username, password)
    return ftp

#从本地上传文件到ftp
def uploadfile(ftp, remotepath, localpath):
    bufsize = 1024
    fp = open(localpath, 'rb')
    ftp.storbinary('STOR ' + remotepath, fp, bufsize)
    ftp.set_debuglevel(0)
    fp.close()

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--ip', type=str, default = None)
    parser.add_argument('--user', type=str, default = None)
    parser.add_argument('--password', type=str, default = None)
    parser.add_argument('--localFileName', type=str, default = None)
    parser.add_argument('--fileName', type=str, default = None)
    args = parser.parse_args()
    ftp = ftpconnect(args.ip,args.user ,args.password)
    uploadfile(ftp, "/home/"+args.fileName, args.localFileName)
    ftp.quit()

Zuerst importieren wir das ftplib-Modul und das argparse-Modul.

Als nächstes wird eine ftpconnect-Funktion definiert, um eine Verbindung zum FTP-Server herzustellen. Diese Funktion erfordert 3 Parameter: Host (IP-Adresse oder Domänenname des FTP-Servers), Benutzername (Benutzername), Passwort (Passwort). Die Funktion gibt ein FTP-Objekt zurück.

Als nächstes wird eine Uploadfile-Funktion definiert, die zum Hochladen von Dateien vom lokalen auf den FTP-Server verwendet wird. Diese Funktion erfordert 3 Parameter: ftp (FTP-Objekt), remotepath (auf den FTP-Server hochgeladener Pfad) und localpath (lokaler Dateipfad). Die Funktion öffnet eine lokale Datei, lädt die Datei mithilfe der Storbinary-Methode des FTP-Objekts hoch und schließt schließlich die lokale Datei und die FTP-Verbindung.

Verwenden Sie abschließend das argparse-Modul, um Befehlszeilenargumente zu analysieren. Zu den Befehlszeilenparametern gehören die IP-Adresse des FTP-Servers, Benutzername, Passwort, lokaler Dateipfad und Pfad zum Hochladen auf den FTP-Server. Rufen Sie in der Hauptfunktion zuerst die Funktion ftpconnect auf, um eine Verbindung zum FTP-Server herzustellen, rufen Sie dann die Funktion uploadfile auf, um die Datei hochzuladen, und schließen Sie schließlich die FTP-Verbindung.

Laufergebnisse

Wir können den obigen Code als ftp_upload.py speichern und den folgenden Befehl in der Befehlszeile ausführen:

python ftp_upload.py --ip 192.168.1.100 --user ftpuser --password ftppass --localFileName localfile.txt --fileName remotefile.txt

wobei 192.168.1.100 die IP-Adresse des FTP-Servers, ftpuser der FTP-Benutzername und ftppass der ist FTP-Passwort, localfile.txt ist eine lokale Datei.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie FTP zum Hochladen von Dateien in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen