Я пытаюсь найти способ проверить существование команды оболочки перед ее выполнением.
Например, я выполню команду ack-grep. Итак, я пытаюсь сделать:
подпроцесс импорта
из подпроцесса импорт ТРУБА
cmd_grep = подпроцесс.Popen(["ack-grep", "--no-color", "--max-count = 1", "--no-group", "def run_main", "../cgedit/"], stdout = ТРУБА, stderr = ТРУБА)
Чем, если я выполню
cmd_grep.stderr.read()
Я получаю '', как на выходе. Но у меня нет команды ack-grep на моем пути. Итак, почему Popen не помещает сообщение об ошибке в мою переменную .stderr?
Кроме того, есть ли более простой способ сделать то, что я пытаюсь сделать?