[Python] Ich werde FTP auf den FTP-Server hochladen.

Einführung

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.

Inhalt

Überblick


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

Einzelheiten

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.

Referenz

・ 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] Ich werde FTP auf den FTP-Server hochladen.
Laden Sie eine Textdatei mit FTP auf den Mietserver hoch
Ich möchte den Fortschritt in Python anzeigen!
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Ich wollte die Python-Bibliothek von MATLAB verwenden
Ich möchte mit Python-Datenklasse nach hinten erben
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Ich möchte in Python schreiben! (3) Verwenden Sie Mock
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich hatte das Gefühl, dass ich den Python-Code nach C ++ 98 portiert habe.
Ich möchte R-Datensatz mit Python verwenden
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Ich habe die Python-Quelle heruntergeladen
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich möchte initialisieren, wenn der Wert leer ist (Python)
Ich habe versucht zu simulieren, wie sich die Infektion mit Python ausbreitet
Ich wollte den Panasonic Programming Contest 2020 mit Python lösen
maya Python Ich möchte die gebackene Animation wieder reparieren.
Was ich getan habe, um die Python2 EOL mit Zuversicht zu begrüßen
[Python] Ich möchte die Option -h mit argparse verwenden
Erstellen Sie eine Python-Umgebung und übertragen Sie Daten auf den Server
[Python] Ich habe versucht, LINE BOT die Wettervorhersage beantworten zu lassen
[Python] Ich habe versucht, die folgende Beziehung von Twitter zu visualisieren
Ich wusste nicht, wie ich die [Python] für die Anweisung verwenden sollte
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich habe versucht, die Unterschiede zwischen Java und Python aufzuzählen
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, das Zugriffsprotokoll mit Node.js auf dem Server auszugeben
Überlassen Sie die mühsame Verarbeitung Python
Ich habe versucht, Python zu berühren (Installation)
So erhalten Sie die Python-Version
Ich habe versucht, das Wahrscheinlichkeitsintegral (I zu Integral) zu berechnen.
Ich habe die Warteschlange in Python geschrieben
Ich möchte mit Python debuggen
Ich habe versucht, den Ball zu bewegen
Ich habe den Stack in Python geschrieben
Datei-Upload in Azure Storage (Python)
Ich habe versucht, den Abschnitt zu schätzen.
[Python] Ändere das Alphabet in eine Zahl
Ich habe versucht, die Anfängerausgabe des Ameisenbuchs mit Python zu lösen
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Ich habe eine Python-Bibliothek erstellt, um die API von LINE WORKS aufzurufen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Ich möchte Python GUI ausführen, wenn Raspberry Pi startet
Ich habe den Code geschrieben, um den Brainf * ck-Code in Python zu schreiben
Klicken Sie in Python auf die New Relic-API, um den Status des Servers abzurufen
Ich habe versucht, die Videowiedergabezeit anzuzeigen (OpenCV: Python-Version)
Ich wollte das ABC164 A ~ D-Problem mit Python lösen
Terminalzuordnung von der Serverseite zu Amazon SNS (Python + Boto3)
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Ich möchte Spyder an die Taskleiste anheften
FBX SDK Welche Fähigkeiten benötige ich, um ein Programm mit Python zu erstellen?
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
Ich konnte den Thermodrucker "PAPERANG" aus Python (Windows10, Python3.6) drucken.
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.