Python Lernhandbuch

Kapitel 13: SFTP-Server anbinden · Abschnitt 3 von 4

SFTP-Methoden

Methode Wirkung
listdir(path='.') Namen aller Einträge als Liste von Strings
listdir_attr(path='.') Einträge mit Größe, Änderungszeit und Rechten (SFTPAttributes)
get(remotepath, localpath) Datei herunterladen
put(localpath, remotepath, confirm=True) Datei hochladen. confirm=True prüft danach die Größe
mkdir(path, mode=0o777) Ordner anlegen
rmdir(path) Leeren Ordner löschen
remove(path) Datei löschen
rename(alt, neu) Verschieben oder umbenennen auf dem Server
stat(path) Eigenschaften einer Datei. Fehler (FileNotFoundError), wenn es sie nicht gibt
open(filename, mode='r') Entfernte Datei wie eine lokale lesen oder schreiben
getcwd(), chdir(path) Aktuelles Verzeichnis auf dem Server

listdir_attr liefert Objekte mit diesen Eigenschaften: filename, st_size (Bytes), st_mtime (Änderungszeit als Unix-Zeit), st_mode (Rechte und Typ). Ob ein Eintrag ein Ordner ist, prüfst du mit stat.S_ISDIR(attr.st_mode).

python
import stat
from datetime import datetime

for a in sftp.listdir_attr('upload'):
    art = 'Ordner' if stat.S_ISDIR(a.st_mode) else 'Datei'
    zeit = datetime.fromtimestamp(a.st_mtime)
    print(f'{art:<7}{a.filename:<25}{a.st_size:>10} Bytes  {zeit:%d.%m.%Y %H:%M}')

Tipp: Bei Python-Beispielen kannst du auf ▶ Ausprobieren klicken, den Code verändern und direkt ausführen.

← Zurück