1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| # -*- coding: Latin-1 -*-
import os
import ftplib
from Tkinter import *
import time
global textv
def download():
pathsrc='./programmation'
pathdst='F:\\programmation\\python\\ftp\\telechargement'
ftp=ftplib.FTP('')
ftp.connect('192.168.1.2')
user=str(entr1.get())
passwd=str(entr2.get())
ftp.login(user,passwd)
lenpathsrc=len(pathsrc)
def _download(pathsrc):
l=ftp.nlst(pathsrc)
for i in l:
try:
ftp.size(i)
#textv=i
progress.config(text=i)
progress.update()
ftp.retrbinary('RETR '+i, open(pathdst+os.sep+i[lenpathsrc:], 'wb').write)
time.sleep(0.2)
except:
try: os.makedirs(pathdst+os.sep+os.path.dirname(i[lenpathsrc:]))
except: pass
_download(i)
_download(pathsrc)
ftp.quit()
progress.configure(text='Opération terminée...')
#######################
# interface graphique #
#######################
fen1=Tk()
txt1=Label(fen1, text=' Login :')
txt2=Label(fen1, text='Mot de passe :')
entr1=Entry(fen1)
entr2=Entry(fen1)
bout1=Button(fen1,text='telecharger',command=download)
bout2=Button(fen1,text='Quiter',command=fen1.destroy)
progress=Label(fen1,text="...",width="50")
txt1.grid(row=0,column=0)
txt2.grid(row=1,column=0)
entr1.grid(row=0,column=1)
entr2.grid(row=1,column=1)
bout1.grid(row=2,column=0)
bout2.grid(row=2,column=1)
progress.grid(row=3,column=0)
fen1.mainloop() |
Partager