Вы проверили неправильную документацию, для python-3.6 этот параметр не существует, как можно найти в документации (вы выбираете версию в вверху слева):
subprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None,
shell=False, cwd=None, timeout=None, check=False, encoding=None,
errors=None, env=None)
Однако вы можете легко «эмулировать» это, установив для stdout
и stderr
значение PIPE
:
from subprocess import <b>PIPE</b>
subprocess.run(["ls", "-l", "/dev/null"], stdout=<b>PIPE</b>, stderr=<b>PIPE</b>)
Фактически, если мы посмотрим на исходный код версии python-3.7 , где была представлена эта функция, мы увидим в исходном коде [GitHub] :
if capture_output:
if ('stdout' in kwargs) or ('stderr' in kwargs):
raise ValueError('stdout and stderr arguments may not be used '
'with capture_output.')
kwargs['stdout'] = PIPE
kwargs['stderr'] = PIPE