Maison >développement back-end >Tutoriel Python >Pourquoi l'ordre des fichiers renvoyés par « os.listdir() » est-il incohérent ?
Problème d'ordre alphanumérique avec os.listdir()
Lorsque vous travaillez avec des répertoires en Python à l'aide de os.listdir(), les utilisateurs peuvent être confrontés à des problèmes inattendus. lister l’ordre des sous-répertoires. L'ordre par défaut, qui était autrefois alphanumérique, semble désormais incohérent et absurde. Cet article étudie les facteurs déterminant l'ordre d'affichage de ces listes.
Problème :
Dans un répertoire contenant des sous-répertoires nommés run01 à run20, os.listdir(os.getcwd ()) renvoie une liste dans un ordre tel que :
['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ...]
Solution :
L'ordre de la liste récupérée par os.listdir() peut être manipulé en utilisant sorted(). Pour trier la liste par ordre alphanumérique, utilisez :
sorted(os.listdir(whatever_directory))
Vous pouvez également utiliser la méthode .sort() de la liste elle-même :
lst = os.listdir(whatever_directory) lst.sort()
Remarque : L'original l'ordre des noms de fichiers renvoyés par os.listdir() est déterminé par le système de fichiers sous-jacent et peut varier selon les systèmes.
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!