Я пытаюсь использовать этот скрипт Python для пакетной обработки имен файлов вместо аргументов.
Скрипт работает следующим образом:
$ python /root/vrn/raw2obj.py --volume /root/vrn/output/file-name1105.raw \
--image /root/vrn/JPEGS/scaled/file-name1105.jpg \
--obj /root/workfolder/output/file-name1105.obj'
Источник сценария можно найти здесь vrn/raw2obj.py.
Я попытался наследовать аналогичную структуру, используемую для пакетных процессов FFmpeg, без везения. Имена файлов одинаковы между --volume
--image
и --obj
, но только расширения, которые меняются.
Файлы пронумерованы также, если проще, чтобы иметь выражение reg, оно идет от file-name0000 to file-name2254
в последовательности из 1.
Возможно ли выполнить поиск или for я in
папке /root/vrn/JPEGS/scaled/
(только с использованием linux bash) и использовать имя файла без расширения для приведенных выше аргументов с помощью Bash?
for я in file-name{0000..2254}; do python/root/vrn/raw2obj.py --volume/root/vrn/output/"$i".raw --image/root/vrn/JPEGS/scaled/"$i".jpg --obj/root/workfolder/output/"$i".obj done
for я in file-name{0000..2254}; do python/root/vrn/raw2obj.py --volume/root/vrn/output/"$i".raw --image/root/vrn/JPEGS/scaled/"$i".jpg --obj/root/workfolder/output/"$i".obj done
Работал для меня. Он последовательно просматривал имена файлов и запускал скрипт по одному из них.
os.walk
иglob.glob
для способов рекурсивного поиска файлов.glob
может быть быстрее и проще для вас. Кроме того,os.path
может манипулировать именами файлов, удаляя / добавляя расширения и т. Д.