Problem mit holen von Daten vom FTP-Server

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
Minicar
User
Beiträge: 24
Registriert: Montag 1. März 2010, 10:26

Hallo,
ich bins schon wieder.

Ich habe es jetzt geschafft das auf klick des Enter-Buttons die Verbindung zum FTP-Server im Hintergrund aufgebaut wird. Allerdings gelingt es mir nicht, eine Datei vom Server zu holen.
Bekomme eine Fehlermeldung:
No such file or directory.
Ich erwarte das er mir die Datei vielleicht irgendwo ablegt oder sie direkt öffnet

Könntet ihr mir da helfen?

Code: Alles auswählen


    def test (self):
        edit = QtGui.QLineEdit('', self)
        edit.resize(350,20)
        DATEI = edit
        ftp = ftplib.FTP('Server') # Server ist nur der Ersatzname
        ftp.connect()
        ftp.login("Minicars", "passwort")
        ftp.set_pasv(False)
        print (ftp.getwelcome())
        #print (ftp.retrlines('LIST'))
        bild=""
        def f(data):
            global bild
            bild += data
        ftp.retrbinary("RETR test.doc", f)
        #self.Label1.SetText(bild)
        ftp.quit
      
app = QtGui.QApplication(sys.argv)
bild = ""
icon = DragDrop()
icon.show()
app.exec_()
Wäre für eure Hilfe sehr dankbar

Liebe Grüße Minicar
Zuletzt geändert von Minicar am Donnerstag 4. März 2010, 15:43, insgesamt 2-mal geändert.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Minicar hat geschrieben:Könntet ihr mir da helfen?
Nicht ohne eine Beschreibung dessen was du als Resultat erwartest und was du stattdessen erhältst. Gegebenenfalls auftretetende Fehlermeldungen wäre auch hilfreich. "Geht nicht!" ist eine äußerst unzureichende Beschreibung.

Du könntest übrigens den Code mal eindampfen indem du das GUI-Zeug rausnimmst und nur ein relevantes (theoretisch lauffähiges) Codestück übrig lässt.
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Was verstehst du an "No such file or directory" nicht?
Minicar hat geschrieben:Ich erwarte das er mir die Datei vielleicht irgendwo ablegt oder sie direkt öffnet
Die Implementierung erwartet da schon etwas konkreteres: Nämlich eine Funktion, die ausgeführt werden soll und die sinnigerweise die übergebenen Daten in eine Datei schreiben kann. Ich zitiere die Doku:
Here’s a sample session using the ftplib module:

Code: Alles auswählen

>>> from ftplib import FTP
>>> ftp = FTP('ftp.cwi.nl')   # connect to host, default port
>>> ftp.login()               # user anonymous, passwd anonymous@
>>> ftp.retrlines('LIST')     # list directory contents
total 24418
drwxrwsr-x   5 ftp-usr  pdmaint     1536 Mar 20 09:48 .
dr-xr-srwt 105 ftp-usr  pdmaint     1536 Mar 21 14:32 ..
-rw-r--r--   1 ftp-usr  pdmaint     5305 Mar 20 09:48 INDEX
 .
 .
 .
>>> ftp.retrbinary('RETR README', open('README', 'wb').write)
'226 Transfer complete.'
>>> ftp.quit()
Und das, was du da mit `f` bzw `bild` veranstaltest, entspricht definitiv nicht dieser Intention.
Minicar
User
Beiträge: 24
Registriert: Montag 1. März 2010, 10:26

ja das habe ich auch schon probiert, nur holt er mir die Datei nicht, sondern erstellt sie neu, aber ohne Inhalt.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Du musst die Datei natürlich auch noch schließen ;-)
Das Leben ist wie ein Tennisball.
Minicar
User
Beiträge: 24
Registriert: Montag 1. März 2010, 10:26

okay, habe die Datei wieder geschlossen, er zeigt mir jetzt keine Fehler mehr an, aber die Datei ist trotzdem leer
Benutzeravatar
snafu
User
Beiträge: 6740
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Zeig mal den zugehörigen Code. Bist du zudem sicher, dass die Datei auf dem Server nicht schon leer ist?
Antworten