2012-04-01 8 views
3

Wie genau würden Sie eine Liste der Einträge in einem FTP-Verzeichnis erstellen?Liste aus Retrlines in Python erstellen

Dies ist mein Code so weit:

import ftplib 

files = [] 

my_ftp = ftplib.FTP(HOST) 
my_ftp.login(USERNAME,PASSWORD) 

line = my_ftp.retrlines("NLST",files.append(line)) 
my_ftp.quit() 

Der Fehler besagt, dass die variable Linie verwendet wird, bevor sie definiert ist.

+1

Wenn einer der hier gelöst Ihr Problem gepostet Antworten, bitte ankreuzen es als akzeptiert. – zigg

Antwort

3

Eine kleine Änderung an der Callback-Argument und sollte folgende

arbeiten
line = my_ftp.retrlines("NLST",files.append) 
+0

Die Dokumentation besagt, dass 'retrlines'' print_line' aufruft, wenn Sie 'callback' nicht angeben. Das wird nicht funktionieren. – zigg

+0

Ja, du hast Recht. Ich werde es jetzt bearbeiten. – 0sh

+0

Ahh, 'files.append' ist sogar besser als' lambda'. Warum habe ich nicht daran gedacht? :-) – zigg

7

Sie wollen wahrscheinlich nur verwenden nlst:

>>> my_ftp.nlst() 
['pub', 'etc', 'ports'] 
Verwandte Themen