У меня была похожая проблема, glob
возвращал список имен файлов в произвольном порядке, но я хотел просмотреть их в числовом порядке, как указано в имени файла. Вот как я этого добился:
Мои файлы были возвращены glob
что-то вроде:
myList = ["c:\tmp\x\123.csv", "c:\tmp\x\44.csv", "c:\tmp\x\101.csv", "c:\tmp\x\102.csv", "c:\tmp\x\12.csv"]
Я отсортировал список на месте, для этого я создал функцию:
def sortKeyFunc(s):
return int(os.path.basename(s)[:-4])
Эта функция возвращает числовую часть имени файла и преобразуется в целое число. Затем я вызвал метод сортировки в списке следующим образом:
myList.sort(key=sortKeyFunc)
Это вернул список как таковой:
["c:\tmp\x\12.csv", "c:\tmp\x\44.csv", "c:\tmp\x\101.csv", "c:\tmp\x\102.csv", "c:\tmp\x\123.csv"]