Trier les fichiers d'un répertoire par date
Bonjour,
Je voudrais trier les fichiers d'un répertoire par date afin de commencer par lire les fichiers les plus récents.
J'ai trouvé ce code là sur le net mais j'y comprends pas grand chose :mrgreen: :
Code:
1 2 3 4 5 6 7
|
import os
from stat import ST_CTIME
def get_files_by_date(directory):
files = [(os.stat(f)[ST_CTIME], f) for f in os.listdir(directory) if os.path.isfile(f)]
files.sort()
return [f for s,f in files] |
C'est surtout cette ligne là qui est très "louche" :
Code:
1 2
|
files = [(os.stat(f)[ST_CTIME], f) for f in os.listdir(directory) if os.path.isfile(f)] |
Petit problème de mise en forme, non ?
De plus je comprends pas trop non plus cette ligne là :
Code:
return [f for s,f in files]
C'est quoi le s ? On retourne 2 arguments (dont une listdir) ?
Merci d'avance de m'aiguiller sur ce code, ou si vous avez quelque chose à me proposer ça serait super :P
J'imagine que c'est pas bien compliqué et je me doute bien qu'il faut utiliser la méthode sort() mais je vois pas trop.