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.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

ftplib download frage

Beitragvon pr0stAta » Freitag 13. Mai 2005, 13:49

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

Beitragvon BlackJack » Samstag 14. Mai 2005, 00:10

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:

Beitragvon rayo » Samstag 14. Mai 2005, 00:14

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

Beitragvon pr0stAta » Dienstag 17. Mai 2005, 07:39

wunderbar. nun hab ichs auch geschafft danke :>

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]