Ç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.
# -*- 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===")
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.
・ 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