2014-09-09 6 views
2

Je suis connecté dans un répertoire ftp en utilisant ftplib et ai énuméré les répertoires contenus à l'intérieur en utilisant:tri des répertoires par date de création

ftp.retrlines (« LISTE »)

C'est ce qu'il me donne dans le terminal:

enter image description here

Cette liste est dans l'ordre alphabétique mais j'étais wonde anneau s'il y a un moyen de le trier par les dates indiquées sur la gauche?

Je veux être en mesure de le trier du plus récent au plus ancien.

Merci! :)

Répondre

2

devrait être quelque chose comme ceci:

sorted = list() 
dirs = ftp.retrlines('LIST') 
times = list() 
for dir in dirs: 
    times.append(datetime.strptime(dir, '%m-%d-%y %I:%M%p')) 
*sort times with some algorithm from python library* (pretty sure times.sort() should work but I cant say for sure 
for i in range(0,len(times)): 
    for dir in dirs: 
     if dir.startswith(times[i]): 
      sorted.append(dir) 
      break 

Qu'est-ce que Celeo a dit est vrai, mais ne vous donnera le temps sans les répertoires triés, cela vous donnera les deux.

2

Utilisez strptime() pour transformer les chaînes de date en objets datetime, then sort.

d = datetime.strptime(date_string, '%m-%d-%y %I:%M%p')