Python скрипт для запуска exe-файла на всех файлах в каталоге

У меня есть небольшой файл.exe, который я хотел бы запустить на всех файлах в данном каталоге. Он запускается следующим образом "./myprogram.exe file" и преобразует мои файлы в другой тип данных.

Теперь я хочу создать скрипт на python, который запускает этот exe-файл для всех файлов в данном каталоге, включая все подкаталоги. Я совершенно новичок в Python, поэтому я понятия не имею, как это сделать.

У кого-нибудь есть предложения как это сделать? Нужен ли мне Python или любой другой язык сценариев?

Большое спасибо!

3 ответа

Решение

На Linux-коробке, я бы сказал вам использовать find звоните, но .exe кажется, говорит, что вы на окнах.

В Python вы должны использовать что-то вроде этого

for root, dir, files in os.walk(path):
   for name in files:
      subprocess.call(["path_to_your_programm/myprogram.exe", os.path.join(root, name)]

Чтобы найти совпадение всех файлов из каталога + подкаталогов, взгляните на: Использовать Glob() для рекурсивного поиска файлов в Python?

Чтобы вызвать вашу программу, взгляните на: Как мне запустить программу из python? Сбой os.system из-за пробелов в пути

Вы должны иметь возможность изменить пример в документации по Python для os.walk, чтобы сделать это.

Чтобы фактически вызвать вашу внешнюю программу, вы можете использовать subprocess.call.

Другие вопросы по тегам