Seite 1 von 1

ftp upload

Verfasst: Freitag 1. Juni 2012, 13:52
von dark-lion
ich habe einen script gemacht, mit dem man eine datei auswählen kann und diese dann hochladen:

Code: Alles auswählen

import ftplib, easygui
ftp = ftplib.FTP()
ftp.connect("deinedomain.de")
ftp.login("Benutzername", "passwort")
ftp.cwd("/")
f = easygui.fileopenbox() 
ftp.retrbinary(f, f)
f.close()
print "OK"
ftp.quit()
raw_input("Press Enter...")
doch immer, wenn ich ein datei ausgewählt habe(123.txt), kommt diese fehlermeldung:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Users\User\Desktop\123.py", line 7, in <module>
    ftp.retrbinary(f, f)
  File "C:\Python25\lib\ftplib.py", line 390, in retrbinary
    conn = self.transfercmd(cmd, rest)
  File "C:\Python25\lib\ftplib.py", line 356, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "C:\Python25\lib\ftplib.py", line 327, in ntransfercmd
    resp = self.sendcmd(cmd)
  File "C:\Python25\lib\ftplib.py", line 241, in sendcmd
    return self.getresp()
  File "C:\Python25\lib\ftplib.py", line 216, in getresp
    raise error_perm, resp
error_perm: 500 C:\USERS\USER\DESKTOP\DARK-LION-SOFTWARE\123.TXT not understood
wie kann ich den fehler beheben?
PS: ich habe als server schon einen normalen eingesetzt. :K

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:05
von Leonidas
Naja, du übergibst retrbinary ja auch irgendwelchen völligen Stuss, was erwartest du?

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:10
von dark-lion

Code: Alles auswählen

f = easygui.fileopenbox() 
ftp.retrbinary(f, f)
falls du das meinst , dass habe ich jetzt geändert:

Code: Alles auswählen

f = easygui.fileopenbox() 
ftp.retrbinary(f, "123")
aber der fehler ist immer noch der gleiche.:(

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:21
von Leonidas
"123" ist ja auch keine Callback-Funktion sondern eine Zahl. Das ist wie auf eine "Entweder-Oder"-Frage mit "Ja" zu antworten.

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:25
von dark-lion
was sollte ich dann deiner Meinung nach reinschreiben?
weil Argument 1 ist ja die Datei, Argument 2 ist der Name der Datei.
ich versteh nicht, was daran falsch ist.:(

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:29
von Leonidas
dark-lion hat geschrieben:weil Argument 1 ist ja die Datei, Argument 2 ist der Name der Datei.
ich versteh nicht, was daran falsch ist.:(
Stimmt doch beides nicht. Das erste ist der Befehl und das zweite eine Callback-Funktion. Und das steht auch in der ftplib-Dokumentation, zusammen mit passendem Beispiel.

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:33
von BlackJack
Überhaupt ist das für's *hochladen* die falsche Methode.

Re: ftp upload

Verfasst: Freitag 1. Juni 2012, 14:42
von dark-lion
ok habs auch grad gemerkt und geblickt
habs jetzt so gemacht:

Code: Alles auswählen

f = open("123.txt", "r") 
ftp.storbinary("STOR test.txt", f)
danke für die hilfe:D