Я предполагаю, что все имена файлов есть, но не в том порядке, в котором вы ожидаете.
Имена файлов являются строками. Они отсортированы в соответствии с логикой сортировки строк c: представьте себе, заменяя каждые 0 на a
, каждые 1 на b
, каждые 2 на c
и т. Д., И теперь подумайте о том, как строки будут заказывать в алфавитном порядке. Обычная сортировка строк не знает, что нам нравится писать числа с наименьшим значением-di git last . При обычной сортировке строк это действительно go 1
, затем 10
, затем 11
- это аналогично порядку строк b
, затем ba
, затем bb
, что является правильным словарем упорядоченность. Он будет go включаться в течение длительного времени, прежде чем доберется до чего-либо, начинающегося с 3
(аналогично, слова в словаре, начинающиеся с d
, встречаются намного позже, чем что-либо, начинающееся с b
).
Вы можете исследовать алгоритмы / пакеты, которые выполняют «естественную сортировку». Или, наиболее предпочтительным вариантом будет просто исправить соглашение об именовании файлов, чтобы начать с: убедитесь, что числа, встроенные в ваши имена файлов, имеют одинаковое количество цифр, с ведущими нулями, где это необходимо (001
, 002
, и др * * тысяча двадцать-шесть).