Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Código de Python - Código de ejemplo de un cliente FTP en modo gráfico

Código de ejemplo de un cliente FTP en modo gráficográfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella
Publicado el 24 de Abril del 2012 por Jose
3.530 visualizaciones desde el 24 de Abril del 2012. Una media de 28 por semana
Código de ejemplo de un cliente FTP con interfaz gráfica (tkinter).

Versión 1
estrellaestrellaestrellaestrellaestrella

Publicado el 24 de Abril del 2012gráfica de visualizaciones de la versión: Versión 1
3.531 visualizaciones desde el 24 de Abril del 2012. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella
#!/usr/bin/env python # -*- coding: utf-8 -*- #Copyright 2012 jose <jose@jose-desktop> from Tkinter import * import ftplib,tkMessageBox class Ftp_Client: def __init__(self,root): self.root = root self.root.title("ClientFtp") self.top=Menu(self.root) self.root.config(menu=self.top) self.file = Menu(self.top) self.about = Menu(self.top) self.about.add_command(label="Sobre mi",command=self.informacion,underline=0) self.file.add_command(label="Abrir nueva ventana",command=self.ventana_x,underline=0) self.file.add_command(label="Cerrar conexion",command=self.close_conection,underline=0) self.file.add_command(label="Registro en txt",command=self.guardar_txt,underline=0) self.top.add_cascade(label="File",menu=self.file) self.top.add_cascade(label="About",menu=self.about) self.root.configure(bg="black") self.root.maxsize("700","550") self.root.minsize("700","550") self.url = StringVar() self.listadescarga = [] self.listasubida = [] self.directorio = StringVar() Label(self.root,fg="green",bg="black",text="Introduce tu servidor Ftp",justify="center",font=("Helvetica",18)).grid(padx=200) self.entrada = Entry(self.root,width="40",textvariable=self.url) self.entrada.grid(pady=15) self.conectar = Button(self.root,text="Conectar",command=self.conect_Ftp) self.conectar.grid(pady=15) Label(self.root,fg="green",bg="black",text="Directorios",font=("Helvetica",16)).grid(pady=15) self.listbox = Listbox(self.root,width="60") self.listbox.grid(row=4,column=0) self.directorios = Entry(self.root,textvariable=self.directorio,width="30") self.directorios.grid(pady=15) self.download = Button(self.root,text="Download",command=self.panel_descarga) self.download.grid(row=7) self.delete = Button(self.root,text="Eliminar") self.delete.grid(row=7,padx=465,columnspan=500) self.avanzar = Button(self.root,text="Avanzar",command=self.avanzar) self.avanzar.grid(row=6,column=0,padx=380,columnspan=270) self.renombrar = Button(self.root,text="Rename") self.renombrar.grid(row=6,padx=380,columnspan=750) self.retroceder = Button(self.root,text="Retroceder") self.retroceder.grid(row=6,pady=10) self.upload = Button(self.root,text="Upload",command=self.panel_subida) self.upload.grid(row=7,column=0,padx=290,columnspan=260) def conect_Ftp(self): try: self.conectftp = ftplib.FTP(self.entrada.get()) self.window = Tk() self.window.maxsize("300","280") self.window.minsize("300","280") self.window.title("Conectar Con Servidor") self.window.configure(bg="black") Label(self.window,fg="green",bg="black",text="Panel de Logueo",font=("Helvetica",15)).grid(padx=70) self.user = StringVar() self.password = StringVar() Label(self.window,fg="green",bg="black",text="Usuario").grid(pady=10) self.usuario = Entry(self.window,width="20",textvariable=self.user) self.usuario.grid(pady=10) Label(self.window,fg="green",bg="black",text="Password").grid(pady=10) self.enpassword = Entry(self.window,width="20",textvariable=self.password) self.enpassword.grid(pady=10) self.logueo = Button(self.window,text="Loguear",command=self.log_Ftp) self.logueo.grid(pady=15) self.window.mainloop() except: tkMessageBox.showinfo("Error","No existe el servidor") def log_Ftp(self): try: self.conectftp.login(self.usuario.get(),self.enpassword.get()) self.datos = [self.usuario.get(),self.enpassword.get()] self.window.destroy() self.listar_directorios() except: tkMessageBox.showinfo("Error","User y Pass Incorrectos") def listar_directorios(self): self.listbox.delete(0,END) self.listadir = [] self.listbox.insert(END,"----Directorios----") for self.directorio in self.conectftp.nlst(): self.listbox.insert(END,self.directorio) self.listadir.append(self.directorio) def avanzar(self): try: self.conectftp.cwd(self.directorios.get()) self.listar_directorios() except: tkMessageBox.showinfo("Error","No existe el directorio") def panel_descarga(self): self.paneldescarga = Tk() self.paneldescarga.maxsize("300","200") self.paneldescarga.minsize("300","200") self.paneldescarga.title("Download") self.paneldescarga.configure(bg="black") Label(self.paneldescarga,text="Introduce el nombre para guardar el archivo",bg="black",fg="green").grid(pady=10) self.nombre = StringVar() self.nombreguardado = Entry(self.paneldescarga,textvariable=self.nombre) self.nombreguardado.grid(pady=10) self.guardar = Button(self.paneldescarga,text="Guardar",command=self.descarga) self.guardar.grid(pady=10) self.paneldescarga.mainloop() def descarga(self): try: self.listadescarga.append(self.directorios.get()) self.archivolocal = open(self.nombreguardado.get(),'wb') except: tkMessageBox.showinfo("Error","No se ha podido guardar el archivo") self.paneldescarga.destroy() try: self.conectftp.retrbinary('RETR '+self.directorios.get(),self.archivolocal.write) self.paneldescarga.destroy() except: tkMessageBox.showinfo("Error","No existe el archivo") def informacion(self): tkMessageBox.showinfo("Sobre Mi","ClienteFtp 1.0 By Rune, alumno de 2 bachiller en el centro EPLA de valencia") def ventana_x(self): self.root2 = Tk() self.instancia = ventana_2(self.root2) def guardar_txt(self): try: if self.datos[0] == "": self.usuario = "anonymous" if self.datos[1] == "": self.contrasena = "anonymous" self.archivodatos = open("Backup"+self.entrada.get()+".txt","a") self.archivodatos.write("-------------------------------------------\n") self.archivodatos.write("Conexion con: "+self.entrada.get()+"\n") self.archivodatos.write("Usuario--->" +self.usuario +"\n") self.archivodatos.write("Password--->" + self.contrasena + "\n") self.archivodatos.write("---Directorios Visualizados Del Servidor---\n") for self.direct in self.listadir: self.archivodatos.write(self.direct+"\n") self.archivodatos.write("\n---Archivos Descargados---\n") for self.archiv in self.listadescarga: self.archivodatos.write(self.archiv + "\n") self.archivodatos.write("\n---Archivos Subidos---\n") for self.archivo in self.listasubida: self.archivodatos.write(self.archivo + "\n") self.archivodatos.close() except: tkMessageBox.showinfo("Error","Compruebe que ha inicializado alguna conexion") def panel_subida(self): self.panelsubida = Tk() self.panelsubida.maxsize("350","200") self.panelsubida.minsize("350","200") self.panelsubida.title("Upload") self.panelsubida.configure(bg="black") Label(self.panelsubida,text="Introduce el nombre del archivo junto con su directorio",bg="black",fg="green").grid(pady=10) self.nombrex = StringVar() self.nombrex2 = StringVar() self.nombreguardados = Entry(self.panelsubida,textvariable=self.nombrex) self.nombreguardados.grid(pady=10) Label(self.panelsubida,text="Introduce el nombre para guardar el archivo",bg="black",fg="green").grid(pady=10) self.nombresubir = Entry(self.panelsubida,textvariable=self.nombrex2) self.nombresubir.grid(pady=10) self.subir = Button(self.panelsubida,text="Subir",command=self.subida) self.subir.grid(pady=10) self.panelsubida.mainloop() def subida(self): try: self.archivo_origen = open(self.nombreguardados.get(),"rb") except: tkMessageBox.showinfo("Error","El archivo no existe") try: self.conectftp.storbinary('STOR ' + self.nombresubir.get(),self.archivo_origen) except: tkMessageBox.showinfo("Error","No se ha podido subir el archivo") self.listasubida.append(self.nombreguardados.get()) self.panelsubida.destroy() def close_conection(self): try: self.conectftp.close() self.listbox.delete(0,END) except: tkMessageBox.showinfo("Error","Compruebe que ha inicializado una conexion") class ventana_2(Ftp_Client): pass if __name__ == "__main__": root = Tk() instance = Ftp_Client(root) root.mainloop()

Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración del curso
Comentarios