Seite 1 von 1

Re: ftp-dateien

Verfasst: Sonntag 3. Oktober 2021, 18:02
von Sirius3
Natürlich funktioniert das nicht, Du mußt schon die Methoden von ftplib.FTP benutzen.

Re: ftp-dateien

Verfasst: Montag 4. Oktober 2021, 14:52
von DeaD_EyE

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.

Re: ftp-dateien

Verfasst: Montag 4. Oktober 2021, 18:40
von nezzcarth
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.