| 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}')