Если ваша программа может принять имя файла в качестве первого аргумента командной строки, один из способов - использовать find
, чтобы найти все файлы в папке, а затем использовать xargs
, чтобы запустить вашу программу для каждого из них:
find myFolder | xargs -n 1 myProgram.py
-n 1
означает «запускать программу один раз для каждого файла». Если ваша программа рада получить несколько имен файлов в своей командной строке, вы можете опустить -n 1
, и xargs
будет запускать вашу программу меньше раз с несколькими файлами в командной строке.
(find
выполнит рекурсивный поиск, поэтому вы получите все файлы в и в myFolder. Вы можете использовать find myFolder -maxdepth 1
, чтобы предотвратить это.)
(Спасибо @Personman за указание на то, что он запустит программу как для самой папки, так и для файлов. Вы можете использовать find myFolder -type f
, чтобы указать find
, что нужно возвращать только обычные файлы.)