Я хочу перебрать набор файлов JPG в папке и t ie эти файлы JPG вместе в PDF. Каждый JPG представляет упорядоченную страницу в PDF, и, следовательно, для правильного преобразования этих * JPG в PDF, они должны быть соответствующим образом отсортированы, когда я выполняю итерацию в папке.
Моя файловая структура JPG в этом папка выглядит следующим образом:
filename_1.jpg
filename_2.jpg
filename_3.jpg
filename_4.jpg
filename_5.jpg
filename_6.jpg
filename_7.jpg
filename_8.jpg
filename_9.jpg
filename_10.jpg
filename_11.jpg
filename_12.jpg
filename_13.jpg
filename_14.jpg
filename_15.jpg
Где число в конце имени файла представляет номер страницы в PDF.
Когда я делаю следующее, чтобы проверить, отсортированы ли файлы в правильном порядке:
for file in sorted(os.listdir(folder_path)):
print(file)
Я получаю следующий вывод, когда функция sorted
сортирует файловую структуру:
filename_1.jpg
filename_10.jpg
filename_11.jpg
filename_12.jpg
filename_13.jpg
filename_14.jpg
filename_15.jpg
filename_2.jpg
filename_3.jpg
filename_4.jpg
filename_5.jpg
filename_6.jpg
filename_7.jpg
filename_8.jpg
filename_9.jpg
Пока это в правильном порядке "сортировки" из alphanumeri c перспектива, она не в правильном порядке страниц, и, следовательно, полученный PDF не будет отсортирован должным образом. Я знаю, если я добавлю ноль перед каждым из файлов с номерами страниц di git, это будет работать правильно (т.е. filename_01.jpg вместо filename_1.jpg), однако у меня более 8000 файлов jpg в более чем 600 папках jpgs, и преобразование всех этих отдельных файлов с номерами страниц di git таким способом не является простой задачей для меня.
У кого-нибудь есть предложения о том, как я могу заставить эти файлы сортировать соответствующим образом, основываясь на номер страницы в конце имени файла?