Python - ProgressBar Ayuda!

 
Vista:
sin imagen de perfil

ProgressBar Ayuda!

Publicado por Eduardo (1 intervención) el 23/05/2016 23:17:16
Que tal, estoy haciendo un script en el cual copie archivos de un FTP a otro.

Ya me funciona el codigo, pero me imprime valores en cuantos bytes a copiado al servidor2, lo que necesito es que al momento de ejecutar el script me aparesca una barra de progreso en porcentaje y que cuando finalize de copiar al servidor2, borre el archivo del servidor1.

Les dejo mi script, para el progressbar estaba utilizando PyQt. Pero si alguien sabe como hacerlo con otro GUI estaria perfecto.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from_ftp = ftplib.FTP("servidor1", "usuario1", "contraseña1")
to_ftp = ftplib.FTP("servidor2", "usuario2", "contraseña2")
to_ftp.cwd("/Respaldos")
to_ftp.retrlines('LIST')
from_Sock = from_ftp.transfercmd("RETR /ISEC/Paulina.zip")
to_Sock = to_ftp.transfercmd('STOR /Respaldos/ISEC/Paulina.zip')
state = 0
 
while 1:
    block = from_Sock.recv(4096)
    if len(block) == 0:
        break
    state += len(block)
 
    while len(block):
        print "Transferidos:", state
        sentlen = to_Sock.send(block)
        block = block[sentlen:]
 
 
from_Sock.close()
to_Sock.close()
from_ftp.quit()
to_ftp.quit()
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Miguel
Val: 3
Ha disminuido su posición en 479 puestos en Python (en relación al último mes)
Gráfica de Python

ProgressBar Ayuda!

Publicado por Miguel (19 intervenciones) el 29/05/2016 06:48:21
Eso se maneja con hilos (threads), en gtk yo uso algo como esto:
1
2
3
4
5
6
7
while sea_algo:
        .hago aqui lo que debo...
       #actualizo la barra de progreso
        progressbar.set_fraction(...)
       #mantengo el hilo del evento activo para no colapsar la interfaz grafica
        while gtk.events_pending():
            gtk.main_iteration()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar