ftp upload scheitert

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
Pamtoffel
User
Beiträge: 7
Registriert: Donnerstag 7. November 2002, 12:29

Hallo zusammen,

habe ein Problem beim ftp-upload. Wenn ich folgenden Code eingebe bekome ich eine kryptische Fehlermeldung:

-----------------------------

Code: Alles auswählen

#! /usr/bin/python
from ftplib import FTP
import ftplib

chdir('/home/ich')
ftp = FTP("mein.server.de")
ftp.login("benutzername", "passwort")
ftp.storbinary('STOR testdatei-neu', open('testdatei','rb',1024))
ftp.quit()
-----------------------------

und jetzt die Fehlermeldung...
TypeError: an integer is required


Kann mir da jemand weiter helfen. Habe alles mögliche versucht - nix funzt :(
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Hallo!
Pamtoffel hat geschrieben:und jetzt die Fehlermeldung...
TypeError: an integer is required
Hilfreich wäre die Angabe, für welche Zeile die Fehlermeldung erfolgt. Die Zelennummer wird ja mit ausgegeben. Die Zeile mit dem storbinary jedenfalls sieht ok aus.
Jan
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Ah, ich sehe gerade das chdir(). Das müsste ja eine Fehlermeldung geben, da es eine buildin-Funktion chdir() nicht gibt. Kann es sein, dass Du am Dateianfang noch irgendwo ein from os import * stehen hast? Sowas ist tödlich, denn damit flutest Du Deinen Namesraum mit allen Namen, die das Modul os bietet (das sind nicht wenige), und so 'verdeckt' die os-Funktion open() die buildin-Funktion open().
Ich hab' eben mal gesucht. Außer im Zusammenhang mit Tkinter habe ich die Form from modulname import * noch nie benutzt.
Jan
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

jepp, das wird der fehler sein. Also am Anfang lieber mit import arbeiten, weil es sonst zu Überladungen kommt. Ich hab mir auch mal erlaubt, dein post zu bearbieten und die code-tags einzufügen, so lässt sich pythoncode viel besser lesen. ;)
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Milan hat geschrieben:Ich hab mir auch mal erlaubt, dein post zu bearbieten
Sorry, aber das halte ich aus prinzipiellen Gründen nicht für ok. Sowas sollte absolute Ausnahme bleiben. Zum Beispiel hatte mal piddon (oder wer anders) eine Email-Adresse anonymisiert, die jemand leichtfertig in seinem Quellcode eingebaut hatte.
Jan
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

:lol: sowas ist für mich auch eine absolute Ausnahme, nur fände ich es aus Prinzip gut, die code-tags für quellcode zu benutzen. Was anderes mach ich auch nicht und hab ich bisher auch noch nicht gemacht, bzw. noch nix von wem editiert.
Pamtoffel
User
Beiträge: 7
Registriert: Donnerstag 7. November 2002, 12:29

Voges hat geschrieben:Ah, ich sehe gerade das chdir(). Das müsste ja eine Fehlermeldung geben, da es eine buildin-Funktion chdir() nicht gibt. Kann es sein, dass Du am Dateianfang noch irgendwo ein from os import * stehen hast? Sowas ist tödlich, denn damit flutest Du Deinen Namesraum mit allen Namen, die das Modul os bietet (das sind nicht wenige), und so 'verdeckt' die os-Funktion open() die buildin-Funktion open().
Ich hab' eben mal gesucht. Außer im Zusammenhang mit Tkinter habe ich die Form from modulname import * noch nie benutzt.
Jan

Hallo Jan, habe das from os import * auskommentiert und siehe da - es funzt. Ich bin begeistert. Nur jetzt kann ich nicht meht mit Befehlen wie chdir() oder getcwd() operieren. Hast Du vielleicht auch dafür 'ne tolle Lösung....
Auf jeden Fall schon mal tausend Dank!!!
Pamtoffel
Voges
User
Beiträge: 564
Registriert: Dienstag 6. August 2002, 14:52
Wohnort: Region Hannover

Pamtoffel hat geschrieben: Hast Du vielleicht auch dafür 'ne tolle Lösung....Pamtoffel
Das geht genauso, wie Du es mit der ftplib auch gemacht hast, wobei Du das import ftplib auch weglassen könntest, soweit ich das sehe, denn Du importierst ftplib.FTP ja direkt.
Für os also entweder import os und dann os.chdir('/home/ich') oder (vielleicht weniger üblich) from os import chdir, getcwd.
Jan
Pamtoffel
User
Beiträge: 7
Registriert: Donnerstag 7. November 2002, 12:29

Daaaaannnnkkkeeee, es funzt. :D
Hoffe auch mal helfen zu können....
Pamtoffel
Antworten