EnTeQuAk hat geschrieben:Sorry, jetz bin ich auch ein wenig überrascht.
Hi EnTeQuAk!
Lies dir noch mal den FTP-Teil in der Python-Dokumentation durch. 

Die meisten FTP-Funktionen, die etwas vom FTP-Server holen, erwarten eine Funktion, an die sie beim Empfangen als ersten Parameter den empfangenen Text übergeben können.
``dir()`` schreibt den Ordnerinhalt nach ``stdout``, wenn diese Funktion nicht angegeben ist. 
Hier ein Beispiel:
Code: Alles auswählen
>>> import ftplib
>>> ftp = ftplib.FTP(host='ftp.suse.com', user='anonymous')
>>> ret = []
>>> ftp.dir(ret.append)
>>> ret
['drwxr-xr-x    2 root     root         4096 May 26  2004 bin', 'drwxr-xr-x
2 root     root         4096 May 26  2004 dev', 'drwxr-xr-x    2 root     root
4096 Sep 10  2004 etc', 'drwxr-xr-x    2 root     root         4096 May 26
2004 lib', 'drwxr-xr-x    2 root     root         4096 Feb 13  2006 msgs', '
drwxr-xr-x    8 ftp      root         4096 Apr 04 23:12 pub', 'drwxr-xr-x    3
root     root         4096 May 26  2004 usr']
>>> ret = []
>>> ftp.retrlines("LIST", ret.append)
'226 Directory send OK.'
>>> ret
['drwxr-xr-x    2 root     root         4096 May 26  2004 bin', 'drwxr-xr-x
2 root     root         4096 May 26  2004 dev', 'drwxr-xr-x    2 root     root
4096 Sep 10  2004 etc', 'drwxr-xr-x    2 root     root         4096 May 26
2004 lib', 'drwxr-xr-x    2 root     root         4096 Feb 13  2006 msgs', '
drwxr-xr-x    8 ftp      root         4096 Apr 04 23:12 pub', 'drwxr-xr-x    3
root     root         4096 May 26  2004 usr']
>>> 
mfg
Gerold
