Seite 1 von 1

Verzeichnis auf ftp server erstellen

Verfasst: Mittwoch 21. Juni 2006, 16:16
von primat
Hallo,
ich habe gerade angefangen Python zu lernen und wollte nun auf einem ftp server ein verzeichnis erstellen.
Das habe ich so gemacht:

Code: Alles auswählen

#! /usr/bin/python
import os
import sys, ftplib
from ftplib import FTP

f = FTP("ftp.bla.de")
f.login("user", "secret")
f.cwd("verz1")
a=f.pwd()
print a
wd=f.mkd("testverz")
f.cwd(wd)
b=f.pwd()
print b
f.quit()
Leider bricht das mit einem für mich unerklärlichen Fehler ab.
>./test.py
/verz1
Traceback (most recent call last):
File "./test.py", line 12, in ?
wd=f.mkd("testverz")
File "/usr/lib/python2.4/ftplib.py", line 510, in mkd
return parse257(resp)
File "/usr/lib/python2.4/ftplib.py", line 608, in parse257
raise error_reply, resp
ftplib.error_reply: 250 Directory created.
Das verzeichnis wird auch angelegt, das Skript bricht aber natürlich ab.
Kann mir vielleicht jemand sgen, wo der Fehler liegt?
Ich bin schon am verzweifeln. :cry:
Gruss
primat

Verfasst: Mittwoch 21. Juni 2006, 16:17
von DatenMetzgerX
schon mal überprüft ob es das verzeichnis schon gibt?

Edit:// DAs Login könntest du zusammen nehmen mit dem Verbinden

Code: Alles auswählen

ftp = ftplib.FTP(server, user, passwort)
Halt ein Beispiel aus einem meiner programme ;)

Verfasst: Mittwoch 21. Juni 2006, 16:45
von primat
Das Verzeichnis gibt es nicht (bei diesem Fehler). Ich habe es vorher gelöscht.
Es wird dann aber korrekt angelegt (durch das Skript)! Nur der Fehler ist halt doof, weil ich nicht weiter machen kann.
Gruss

Verfasst: Mittwoch 21. Juni 2006, 16:47
von Leonidas
Kannst du das Skript auf einem anderen Server testen?

Verfasst: Mittwoch 21. Juni 2006, 16:59
von primat
Muss mir mal nen ftp server zuhause draufklatschen. Mach ich gleich, wenn ich zuhause bin!
Gruss

Verfasst: Mittwoch 21. Juni 2006, 17:37
von DatenMetzgerX
Das ganze macht keinen Sinn

http://www.the-eggman.com/seminars/ftp_error_codes.html

Nach dem ist "Error 250" eine bestätigung, das der Transfair IO war

Verfasst: Mittwoch 21. Juni 2006, 19:27
von murph
so sieht die fehlermeldung auch aus!
das ist nur zur sicherheit, damit das hacken schwerer wird!
schon die fehlermeldung sagt, dass alles geklappt hat. musst dich damit anfinden oder nicht ftplib nehmen ;)

Verfasst: Mittwoch 21. Juni 2006, 22:22
von primat
Hallo,
danke für die Antworten.
Ich würde mich ja gerne damit abfinden, aber mein Skript bricht durch den Fehler ab. Kann man das irgendie umgehen?
Gibt es eine Alternative zu pdflib (ich meine eine mit vertretbarem Aufwand :wink: ).
Woran liegt sowas? Am ftp Server? Das ist so ein Web Visitenkarte Account bei Strato.
Ick wees ja nich, aber det is doch komisch!
Grüße
primat

Verfasst: Donnerstag 22. Juni 2006, 00:27
von Masaru
Ich habe einen auch so einen kostenlosen FTP Account, jedoch bei einem anderen Anbieter, und dort funktionierte dein Script (sowohl unter Python 2.3.5 wie 2.4) ohne besagte Error Raises.

Falls der Fehler auch bei anderen FTP-Servern auftritt, würde ich nochmal vielleicht es mit einer neuen/anderen Python-Interpreter-Installation probieren.

>>Masa<<

Verfasst: Donnerstag 22. Juni 2006, 08:15
von DatenMetzgerX
könnte so gehen ;)

Code: Alles auswählen

try:
    wd=f.mkd("testverz")
except FTP.error_reply, ex:
    print 'Diese Meldung wäre gekommen:\n' + str(ex)
Ob es geht weiss ich nicht, in der Schule habe ich keinen Python interpreter ;)

http://pydoc.org/1.6/ftplib.html

Verfasst: Freitag 23. Juni 2006, 15:07
von Johi
ich denke einfach mal, alle return codes von dem server werden "geraised" (also als fehler). damit man sie mit try abfangen kann. aber auch nur so nen gedanke?