[Python] Je vais télécharger FTP sur le serveur FTP.

introduction

Ça change encore maintenant ... Lorsque je touchais à un système hérité, j'ai rencontré une situation où je devais télécharger FTP sur un serveur FTP, c'est donc un mémo lorsque j'ai pensé à le faire avec python.

Contenu

Aperçu


# -*- coding: utf-8 -*-
import ftplib
import logging


def ftp_upload(hostname, username, password, port, upload_src_path, upload_dst_path, timeout):
    logger.info({
        'action': 'ftp_upload',
        'status': 'run'
    })
    #Connexion FTP/télécharger
    with ftplib.FTP() as ftp:
        try:    
            ftp.connect(host=hostname, port=port, timeout=timeout)
            #Réglage du mode passif
            ftp.set_pasv("true")
            #Connexion au serveur FTP
            ftp.login(username, password)
            with open(upload_src_path, 'rb') as fp:
                ftp.storbinary(upload_dst_path, fp)
        
        except ftplib.all_errors as e:
            logger.error({
                'action': 'ftp_upload',
                'message': 'FTP error = %s' % e
            })
    logger.info({
        'action': 'ftp_upload',
        'status': 'success'
    })


#paramètres de journal
logger = logging.getLogger(__name__)
formatter = '%(asctime)s:%(name)s:%(levelname)s:%(message)s'
logging.basicConfig(
    filename='./ftp_logger.log',
    level=logging.DEBUG,
    format=formatter
)
logger.setLevel(logging.INFO)

#Nom d'hôte du serveur de destination
hostname = "IP du serveur FTP" 
#Chemin du fichier à télécharger
upload_src_path = "./test.jpg " 
#Télécharger le chemin du fichier de destination
upload_dst_path = "STOR /test.jpg " 
#Nom d'utilisateur du serveur
username = "Chaque nom d'utilisateur" 
#Mot de passe de connexion au serveur (
password = "Chaque mot de passe" 
#Port du serveur FTP
port = 21 
timeout = 50

logger.info("===START FTP===")
ftp_upload(hostname, username, password, port, upload_src_path, upload_dst_path, timeout)
logger.info("===FINISH FTP===")

Détails

Comme vous pouvez le voir dans la référence

https://intellectual-curiosity.tokyo/2019/12/01/python%E3%81%A7ftp%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%E3%82%92%E8%A1%8C%E3%81%86%E6%96%B9%E6%B3%95/

Je l'ai créé en référence à. C'est très facile à comprendre. Merci beaucoup.

c'est tout.

référence

・ Https://algorithm.joho.info/programming/python/ftp-file-upload-server/ ・ Https://intellectual-curiosity.tokyo/2019/12/01/python%E3%81%A7ftp%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3 % 83% BC% E3% 83% 89% E3% 82% 92% E8% A1% 8C% E3% 81% 86% E6% 96% B9% E6% B3% 95 / ・ Https://qiita.com/init/items/91e5841ed53d55a7895e

Recommended Posts

[Python] Je vais télécharger FTP sur le serveur FTP.
Télécharger le fichier texte sur le serveur de location avec ftp
Je veux afficher la progression en Python!
J'ai essayé de représenter graphiquement les packages installés en Python
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
Je voulais utiliser la bibliothèque Python de MATLAB
Je veux hériter de l'arrière avec la classe de données python
[Python] J'ai essayé de représenter graphiquement le top 10 des ombres à paupières
Je veux écrire en Python! (3) Utiliser des simulacres
J'ai essayé de résoudre le problème avec Python Vol.1
J'ai senti que j'avais porté le code Python en C ++ 98.
Je veux utiliser le jeu de données R avec python
J'ai essayé de résumer les opérations de chaîne de Python
J'ai téléchargé la source python
J'ai essayé de trouver l'entropie de l'image avec python
Je veux initialiser si la valeur est vide (python)
J'ai essayé de simuler la propagation de l'infection avec Python
Je voulais résoudre le concours de programmation Panasonic 2020 avec Python
maya Python Je veux réparer à nouveau l'animation cuite.
Ce que j'ai fait pour accueillir le Python2 EOL en toute confiance
[Python] Je souhaite utiliser l'option -h avec argparse
Créer un environnement Python et transférer des données vers le serveur
[Python] J'ai essayé de laisser LINE BOT répondre aux prévisions météo
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
Je ne savais pas comment utiliser l'instruction [python] for
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
J'ai essayé d'énumérer les différences entre java et python
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
J'ai essayé de sortir le journal d'accès au serveur en utilisant Node.js
Laissez le traitement gênant à Python
J'ai essayé de toucher Python (installation)
Comment obtenir la version Python
J'ai essayé de calculer l'intégrale de probabilité (I à l'intégrale)
J'ai écrit la file d'attente en Python
Je veux déboguer avec Python
J'ai essayé de déplacer le ballon
J'ai écrit la pile en Python
Téléchargement de fichiers vers Azure Storage (Python)
J'ai essayé d'estimer la section.
[Python] Changer l'alphabet en nombre
J'ai essayé de résoudre l'édition du débutant du livre des fourmis avec python
Je veux connaître la météo avec LINE bot avec Heroku + Python
J'ai créé une bibliothèque Python pour appeler l'API de LINE WORKS
Je veux sortir le début du mois prochain avec Python
Je veux exécuter l'interface graphique Python au démarrage de Raspberry Pi
J'ai écrit le code pour écrire le code Brainf * ck en python
Accédez à l'API New Relic en Python pour obtenir l'état du serveur
J'ai essayé d'afficher le temps de lecture de la vidéo (OpenCV: version Python)
Je voulais résoudre le problème ABC164 A ~ D avec Python
Association de terminal du côté serveur à Amazon SNS (python + boto3)
J'ai essayé d'améliorer l'efficacité du travail quotidien avec Python
Je veux épingler Spyder à la barre des tâches
FBX SDK De quelles compétences ai-je besoin pour créer un programme à l'aide de Python?
[Python] J'ai essayé de visualiser la nuit du chemin de fer de la galaxie avec WordCloud!
J'ai pu imprimer l'imprimante thermique "PAPERANG" depuis Python (Windows10, Python3.6)
[Python] J'ai essayé de résumer le type collectif (ensemble) d'une manière facile à comprendre.