3 Вызов внешних команд

Простейший вариант использования использует subprocess.call функцию. Он принимает список в качестве первого аргумента. Первым элементом в списке должно быть внешнее приложение, которое вы хотите вызвать. Другие элементы в списке являются аргументами, которые будут переданы этому приложению.

 subprocess.call([r'C:\path\to\app.exe', 'arg1', '--flag', 'arg'])

 

Для команд оболочки, установленной shell=True и обеспечить команду в виде строки , а не списка.

 subprocess.call('echo "Hello, world"', shell=True)

 

Обратите внимание , что две команды выше возврата только exit status подпроцесса. Кроме того, обратите внимание при использовании shell=True , так как она обеспечивает проблемы безопасности (см здесь ).

Если вы хотите , чтобы иметь возможность получить стандартный вывод подпроцесса, то подставим subprocess.call с subprocess.check_output . Для более опытных пользователей, обратитесь к этим .