Всем здравствуйте.
В баше я делал так:
select FILENAME in *; do; break; done
Имя файла присвоено $FILENAME
А как подобное сделать на питоне? В гугле про консоль не нашёл.
python, диалог выбора файла из каталога. в консоли
можно использовать glob, но писать интерактивку придется самому
Да я не против писать, а почему именно glob? Хоть немного по подробнее напишите.
Я пытался написать при помощи os.listdir() и enumerate(), но enumerate() не сортирует файлы по номерам.
Все индексы в перемешку, не годится.
Да я не против писать, а почему именно glob? Хоть немного по подробнее напишите.
глоб предназначен для хождения по файловой системе. так же как в баше корректнее делать find чем for по выхлопу ls. целая библиотека, там много полезного.
Я пытался написать при помощи os.listdir() и enumerate(), но enumerate() не сортирует файлы по номерам.
Все индексы в перемешку, не годится.
собрать все в список, отсортировать по своим критериям, и выдавать на экран с нумерацией из списка
os.listdir() создаёт список, так же как glob.glob()
а enumerate() выводит пары индекс -> значение
Научите сортировать список по порядковым номерам.
В смысле перестроить индексы в списке по порядковым номерам.
посмотрел я доки на glob :
glob — Unix style pathname pattern expansion
This is done by using the os.listdir() and fnmatch.fnmatch()
(For tilde and shell variable expansion, use os.path.expanduser() and os.path.expandvars().)
Не понимаю чего тут сладкого? И чем оно лучше os.listdir()? Если только по маске фильтровать.
P.S. И кстати, в баше НЕ корректнее делать find чем for по выхлопу ls, это разные команды используемые для разных целей.
а кто вам мешает список, полученный от os.listdir() сначала отсортировать?
Уже нашёл sort()
Всё, уже написал. Но очень странно если в питоне нет готового инструмента для этого.
Скорее всего он есть но ответа хрен дождёшся.