Es ändert sich immer noch ... Als ich ein Legacy-System berührte, stieß ich auf eine Situation, in der ich FTP auf einen FTP-Server hochladen musste. Dies ist also ein Memo, als ich darüber nachdachte, es mit Python zu tun.
# -*- 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'
})
#FTP-Verbindung/hochladen
with ftplib.FTP() as ftp:
try:
ftp.connect(host=hostname, port=port, timeout=timeout)
#Passive Moduseinstellung
ftp.set_pasv("true")
#FTP-Server-Login
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'
})
#Protokolleinstellungen
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)
#Hostname des Zielservers
hostname = "IP des FTP-Servers"
#Dateipfad zum Hochladen
upload_src_path = "./test.jpg "
#Pfad der Zieldatei hochladen
upload_dst_path = "STOR /test.jpg "
#Server-Benutzername
username = "Jeder Benutzername"
#Server-Anmeldekennwort (
password = "Jedes Passwort"
#FTP-Server-Port
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===")
Wie Sie in der Referenz sehen können
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/
Ich habe es mit Bezug auf erstellt. Es ist sehr leicht zu verstehen. Vielen Dank.
das ist alles.
・ 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