Lister fichiers par FTP pour les stocker dans une Listview idem explorateur Windows
Bonjour,
depuis quelques temps je galère pour récupérer des fichiers d'un serveur par ftp.
Je souhaite récupérer les fichiers contenu dans un dossier (avec des filtres bien sûr) pour les mettre dans une ListView avec un style explorateur Windows (Nom | Modifié le | Type | Taille).
J'ai essayé les fonctions ftp.dir(), ftp.nlst(), etc... mais chacune me pose soucis à un certains stade...
Ci-joint mon code, merci par avance pour votre aide.
Code:
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
|
def FTP_GET_FilesIntoFolder(self, event):
try:
index = self.Cell_listbox.curselection()[0]
Cell_folder = self.Cell_listbox.get(index)
for i in self.tree.get_children():
self.tree.delete(i)
FTP_PARAMETERS = CFG_FILE.get('NETWORK_PARAMETERS', SELECTED_LINE)
SERVER_NAME, PORT, FTP_PATH = FTP_PARAMETERS.split(";")
ftp = ftplib.FTP()
ftp.connect(SERVER_NAME, int(PORT))
ftp.login(FTP_USER, FTP_PASSWORD)
QUELLE METHODE?
#MyList = ftp.nlst(FTP_PATH+Cell_folder)
#MyList = ftp.dir(FTP_PATH+Cell_folder)
iFile = 0
FilteredFiles = []
for file in MyList:
if file.split('.')[-1]=='txt':
continue
elif file.split('.')[-1]=='io':
continue
else:
FilteredFiles.append(file)
self.tree.insert('', 'end', text=file, values=('date', 'time'))
iFile+=1
print(file)
#if iFile==1:
#print('One file found')
#elif iFile>1:
#print(iFile, 'files found')
#else:
#print('No file found')
return True
except Exception:
return False |