Próbuję znaleźć sposób, aby sprawdzić istnienie polecenia powłoki przed jego wykonaniem.
Na przykład wykonam polecenie ack-grep. Więc próbuję zrobić:
importuj podproces
z podprocesu import PIPE
cmd_grep = subprocess.Popen ([„ack-grep”, „--no-color”, „--max-count = 1”, „--no-group”, „def run_main”, „../cgedit/”], stdout = PIPE, stderr = PIPE)
Niż jeśli wykonam
cmd_grep.stderr.read ()
Otrzymuję „jak wyjście”. Ale na mojej ścieżce nie ma polecenia ack-grep. Dlaczego więc Popen nie wyświetla komunikatu o błędzie w mojej zmiennej .stderr?
Czy jest też łatwiejszy sposób na robienie tego, co próbuję?