Я использую модуль subprocess
из python и всякий раз, когда я вызываю какой-либо из методов, которые должен запускать подпроцесс, в данном случае некоторый код bash на оболочке выводит (скажем, из команды, например, iwconfig ) перенаправляется на stderr .
Разве вывод этой команды не должен перенаправляться на stdout вместо stderr ? Как я уже сказал, это происходит с любым методом, таким как .Popen()
и .check_output()
.
Этот вопрос может показаться дублированным, но я не вижу других ответов на форуме, объясняющих концепцию, почему это происходит.
Параметр stderr
установлен на subprocess.STDOUT
, поэтому я могу получить вывод команды. Иначе другого пути нет. В любом случае, stderr , куда идут ошибки вывода, верно? Это не имеет смысла для меня ...
s = subprocess.check_output("iwconfig", shell=True, universal_newlines=True, stderr=subprocess.STDOUT)
Заранее спасибо.