ftplib download frage

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Halli Hallo, eigentlich etwas peinlich zu fragen, aber
kann mir jemand erklären wie

Code: Alles auswählen

retrbinary(  	command, callback[, maxblocksize[, rest]])
funktioniert? Ich habs geschafft dateien auf nem ftp hochzuladen aber schaffe es nicht, jpg's oder andere dateitypen herunterzuladen.

Code: Alles auswählen

self.ftp.retrbinary("RETR " + filename)
soweit ist mir das schon klar, aber was ist mit callback gemeint?
danke schonmal im voraus.
gruss prosta
BlackJack

Das muss eine Funktion sein die einen Parameter entgegennimmt. Die wird für oder besser gesagt mit jedem empfangenen Datenblock aufgerufen. Die `write()` Methode von einer offenen Datei müsste zum Beispiel funktionieren.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Entweder in der Doku nachlesen oder sonst einfach mal ne Dummy-Funktion übergeben und kucken wann der Callback aufgerufen wird.

Code: Alles auswählen

def callbackTest(self, *args, **kwargs):
    print 'Callback', args, kwargs

self.ftp.retrbinary("RETR " + filename, self.callbackTest)
Aber in der Doku stehts so schön :):

Code: Alles auswählen

retrbinary( command, callback[, maxblocksize[, rest]]) 

Retrieve a file in binary transfer mode. command should be an 
appropriate "RETR" command: 'RETR filename'. The callback 
function is called for each block of data received, with a single 
string argument giving the data block. The optional maxblocksize 
argument specifies the maximum chunk size to read on the 
low-level socket object created to do the actual transfer (which will 
also be the largest size of the data blocks passed to callback). A 
reasonable default is chosen. rest means the same thing as in the 
transfercmd() method. 
Gruss
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

wunderbar. nun hab ichs auch geschafft danke :>
Antworten