Я вызываю разные процессы с модулем subprocess
. Однако у меня есть вопрос.
В следующих кодах:
callProcess = subprocess.Popen(['ls', '-l'], shell=True)
и
callProcess = subprocess.Popen(['ls', '-l']) # without shell
Оба работают. После прочтения документов я узнал, что shell=True
означает выполнение кода через оболочку. Таким образом, это означает, что в отсутствие процесса этот процесс начинается непосредственно.
Итак, что я должен использовать для своего случая - мне нужно запустить процесс и получить его вывод. Какую пользу я могу получить от ее вызова внутри оболочки или за ее пределами.