ftp-dateien

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sirius3
User
Beiträge: 18275
Registriert: Sonntag 21. Oktober 2012, 17:20

Natürlich funktioniert das nicht, Du mußt schon die Methoden von ftplib.FTP benutzen.
Benutzeravatar
DeaD_EyE
User
Beiträge: 1242
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

Code: Alles auswählen

import io
from pathlib import Path


def retr_bytes(ftp_connection, file) -> bytes:
    data = io.BytesIO()
    ftp_connection.retrbinary(f"RETR {file}", data.write)
    return data.getvalue()


def download(ftp_connection, source, target_file=None, target_path="."):
    target_file = Path(source).name if target_file is None else target_file
    target = Path(target_path, target_file)
    with target.open("wb") as fd:
        ftp_connection.retrbinary(f"RETR {source}", fd.write)
    print(f"{fd.name} ist heruntergeladen worden.")
Das ist alles ohne Fehlerbehandlung und eine bereits bestehende FTP-Verbindung ist erforderlich.
Ich finde ftplib ist etwas zu sehr low-level. Wenn man das in schön will, am besten mit Klassen arbeiten.

PS: Eine eingebaute Download-Funktion habe ich nicht gefunden.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
nezzcarth
User
Beiträge: 1764
Registriert: Samstag 16. April 2011, 12:47

TcError hat geschrieben: Sonntag 3. Oktober 2021, 18:00 ich erstelle im moment ein Python Script und ich würde gerne auf einen FTP-Server zugreifen und diesen wie einen normalen Ordner benutzen.
Wenn das auf einem so hohen Abstraktionslevel stattfinden soll, kann man sich https://pypi.org/project/fs/ mal ansehen.
Antworten