Obtention des listes d'annuaire triées par date de création à l'aide de Python
Lors de la navigation dans un répertoire, il est souvent nécessaire d'obtenir une liste de son contenu trié selon des critères précis, comme la date de création. En Python, cette tâche peut être accomplie facilement.
Approche suggérée :
Pour y parvenir, une combinaison de modules de manipulation du système de fichiers intégrés à Python et d'une fonction de tri est employé. L'extrait de code suivant illustre ce processus :
import glob import os search_dir = "/mydir/" files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
Cet extrait de code commence par obtenir une liste de tous les fichiers du répertoire spécifié à l'aide de os.listdir(). Par la suite, tous les éléments non-fichiers (par exemple, répertoires, liens) sont filtrés à l'aide de os.path.isfile(). Pour garantir des chemins de fichiers corrects, chaque nom de fichier est préfixé par le chemin du répertoire de recherche.
Les fichiers sont ensuite triés en fonction de leur heure de modification à l'aide de la fonction os.path.getmtime(). Cette fonction renvoie l'heure de la dernière modification d'un fichier au format numérique. En passant cette fonction comme argument clé à la fonction sorted(), les fichiers sont classés par ordre chronologique, les fichiers les plus récemment créés apparaissant en premier.
Approche alternative :
Une approche alternative consiste à utiliser le module glob pour filtrer les fichiers et obtenir une liste de chemins de fichiers absolus :
import glob import os search_dir = "/mydir/" # This glob will look for all files and exclude any directories files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
Ce code recherche essentiellement tout le contenu du répertoire spécifié et ses sous-répertoires, y compris tous fichiers et à l’exclusion de tout répertoire. La fonction glob.glob() permet une correspondance plus flexible des noms de fichiers si nécessaire.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!