Ich benutze Filezilla zu ftp-Dateien die ganze Zeit bei meinem Job. Ich möchte anderen Leuten Zugriff auf ftp-Dateien geben, aber wir wollen nicht, dass sie den vollen Zugriff haben, den filezilla bietet. Ich habe versucht, ein grundlegendes Python-Skript zu erstellen, das Folgendes tun würde: 1. Lassen Sie einen Benutzer eine Datei aus einem Dateidialogfeld auswählen 2. nehmen Sie diese Datei und laden Sie sie auf den FTP-Server 3. Werfen Sie den Benutzer zurück a Nachricht sagt, hey Ihre Datei wurde erfolgreich hochgeladen.Mit tkinter eine FTP-Anwendung erstellen, die Datei aus Dialogfeld
Ich bin erfolgreich Verbindung zum FTP-Server, wenn ich einen Dateinamen, der in meinem Python-Stammverzeichnis ist, fest codiere. Ich habe Schwierigkeiten, eine Funktion mit einem Parameter an die tkinter-Taste zu übergeben. Ich möchte, dass die Datei von einer Funktion empfangen und dann von einer anderen Funktion verarbeitet wird. Jede Hilfe wäre sehr dankbar, ich bin eine große Noob Python und ich bin sicher, ich bin etwas fehlt offensichtlich ...
import sys
from ftplib import FTP
from Tkinter import *
import tkFileDialog
#import Tkinter as ttk
def launch_file_dialog_box():
raw_filename = tkFileDialog.askopenfilename()
return raw_filename
def upload_file_to_FTP(raw_filename):
## first thing we do is connect to the ftp host
ftp = FTP('')
ftp.login(user = '', passwd='')
ftp.cwd("")
ftp.set_pasv(False)
file_name = raw_filename
file = open(file_name, 'rb')
ftp.storbinary('STOR ' + file_name, file)
file.quit()
App = Tk()
App.geometry("600x400+200+200")
App.title("Upload a Program Flyer to the Library Website")
Appbutton = Button(text='Choose a File to Upload', command = launch_file_dialog_box).pack()
Appbutton_FTP = Button(text='Upload File to FTP Server', command = upload_file_to_FTP(raw_filename)).pack()
App.mainloop()