Вам необходимо использовать модуль subprocess
.
У него есть check_output
для чтения вывода и помещения его в переменную и check_call
для проверки кода выхода.
Если вы хотите запустить скрипт оболочки, вы можете записать все это в строку и установить shell=True
, в противном случае просто поместите параметры в виде строк в списке.
import subprocess
# Single process
subprocess.check_output(['fortune', '-m', 'ciao'])
# Run it in a shell
subprocess.check_output('fortune | grep a', shell=True)
Помните, что если вы запускаете вещив оболочке, если вы не выполняете свои действия правильно и не допускаете попадания пользовательских данных в вашу строку, легко сделать дыры в безопасности.Лучше не использовать shell=True
.