Seite 1 von 1

FTP-Programm

Verfasst: Samstag 6. Februar 2010, 11:33
von logander4
Hallo Python Community,
ich habe ein kleines Problem.
Ich möchte nämlich für meine privaten zwecke ein FTP Programm schreiben dass leicht zu bedienen ist!
Es sollten Eingabefelder sein mit Server, User und co.
Und ein Verzeichnis wechseln Button wo ein Eingabefeld ist, dort muss man das Verzeichnis eingeben! Und ein Download z. Upload Button sollte es auch geben! Nun ist es so dass ich das Grundgerüst im Kopf habe, auch schon niedergeschrieben! Aber es funktioniert nicht.
Nun aber funktioniert der Teil allein geschrieben im Interpreter:

Code: Alles auswählen

from ftplib import FTP

def verbinde():
    ftp = FTP(server.get())
    ftp.login(user.get(), pwd.get())
    ftp.dir()

from Tkinter import *
server = Entry(root)
user = Entry(root)
pwd = Entry(root)
server.pack()
user.pack()
pwd.pack()
connect = Button(root,text="Verbinden", command=verbinde)
connect.pack()
root.mainloop()
Nun das Funktioniert alleine, aber dass hier als erweiterte Version funktioniert nicht:

Code: Alles auswählen

from ftplib import FTP

def verbinden():
    ftp = FTP(server.get())
    ftp.login(user.get(),pwd.get())
    ftp.dir()

def dirwechseln():
    ftp.cwd(directory.get())

from Tkinter import *
root=Tk()
root.title('Serverlogin')
Label(root,text="Server:").grid(row=1,column=1)
Label(root,text="User:").grid(row=2,column=1)
Label(root,text="PWD:").grid(row=3,column=1)
server = Entry(root)
user = Entry(root)
pwd = Entry(root)
server.pack()
user.pack()
pwd.pack()
go = Button(root,text="Verbinden", command=verbinden)
go.pack()
directory = Entry(root)
directory.pack()
go2 = Button(root,text="Wechseln", command=dirwechseln)
go2.pack()
root.mainloop()
Könnt ihr mir helfen?
Das wäre sehr nett!
Vielen Dank im vorraus
Logander4

Verfasst: Samstag 6. Februar 2010, 11:43
von HWK
Ich hab's nicht ausprobiert. Mir fällt aber auf, dass Du sowohl grid als auch pack verwendest. Das sollte man nicht tun.
MfG
HWK
P.S.: Den Sternchen-Import solltest Du auch noch loswerden.

Verfasst: Samstag 6. Februar 2010, 11:53
von cofi
Bitte schau dir Klassen an.
Dein Problem ist, dass es in der 2. Funktion kein `ftp` gibt.
Das haette man im uebrigen sofort gemerkt, wenn du den Traceback gepostet haettest. Oder du selbst, wenn du ihn gelesen haettest.