Maison >développement back-end >Tutoriel Python >Comment utiliser FTP pour télécharger des fichiers en Python

Comment utiliser FTP pour télécharger des fichiers en Python

WBOY
WBOYavant
2023-04-29 09:49:133114parcourir

Introduction à FTP

FTP, File Transfer Protocol, est un protocole standard de transfert de fichiers sur le réseau. Le client FTP peut télécharger des fichiers du local vers le serveur ou du serveur vers le local.

module ftplib

Python fournit une bibliothèque standard ftplib pour implémenter les fonctions client FTP en Python. En utilisant ftplib, nous pouvons nous connecter au serveur FTP et effectuer diverses opérations FTP, telles que le téléchargement et le téléchargement de fichiers, etc.

Explication du code

Voici un exemple de code pour télécharger des fichiers via FTP à l'aide de 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()

Tout d'abord, nous importons le module ftplib et le module argparse.

Ensuite, une fonction ftpconnect est définie pour se connecter au serveur FTP. Cette fonction nécessite 3 paramètres : host (adresse IP du serveur FTP ou nom de domaine), username (nom d'utilisateur), password (mot de passe). La fonction renvoie un objet FTP.

Ensuite, une fonction uploadfile est définie, qui est utilisée pour télécharger des fichiers du local vers le serveur FTP. Cette fonction nécessite 3 paramètres : ftp (objet FTP), remotepath (chemin téléchargé sur le serveur FTP) et localpath (chemin du fichier local). La fonction ouvre un fichier local, télécharge le fichier à l'aide de la méthode storbinaire de l'objet FTP et ferme enfin le fichier local et la connexion FTP.

Enfin, utilisez le module argparse pour analyser les arguments de ligne de commande. Les paramètres de ligne de commande incluent l'adresse IP du serveur FTP, le nom d'utilisateur, le mot de passe, le chemin du fichier local et le chemin de téléchargement sur le serveur FTP. Dans la fonction principale, appelez d'abord la fonction ftpconnect pour vous connecter au serveur FTP, puis appelez la fonction uploadfile pour télécharger le fichier, et enfin fermez la connexion FTP.

Résultats d'exécution

Nous pouvons enregistrer le code ci-dessus sous ftp_upload.py et exécuter la commande suivante dans la ligne de commande :

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

où 192.168.1.100 est l'adresse IP du serveur FTP, ftpuser est le nom d'utilisateur FTP et ftppass est le Mot de passe FTP, localfile.txt est un fichier local.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer