import subprocess subprocess.CompletedProcess() # использование complete = subprocess.run() complete.args complete.returncode ...
subprocess.run()
.Объект CompletedProcess()
модуля subprocess
возвращает значение из subprocess.run()
, представляющее завершенный процесс.
subprocess.CompletedProcess
.complete.args
:Атрибут args
это аргументы, используемые для запуска процесса. Это может быть список или строка.
complete.returncode
:Атрибут returncode
возвращает результат выхода из состояния дочернего процесса. Как правило, состояние выхода 0 указывает, что оно успешно выполнено.
Отрицательное значение -N
указывает, что дочерний процесс был прерван сигналом N
(только POSIX).
complete.stdout
:Атрибут stdout
возвращает захваченный стандартный вывод stdout
от дочернего процесса.
Представляет из себя последовательность байтов или строка - если [subprocess.run()][subprocess.run] была вызвана с параметрами
encodingи
errorsили аргумент
textимеет значение
True`.
Будет иметь значение None
, если не был захвачен стандартный вывод.
Если процесс запущен с stderr=subprocess.STDOUT, то
stdoutи
stderrбудут объединены в этом атрибуте, а
stderrбудет
None`.
complete.stderr
:Атрибут stdout
возвращает захваченный stderr
от дочернего процесса.
Представляет из себя последовательность байтов или строка - если [subprocess.run()][subprocess.run] была вызвана с параметрами
encodingи
errorsили аргумент
textимеет значение
True`.
Будет иметь значение None
, если не был захвачен стандартный вывод.
complete.check_returncode()
:Метод complete.check_returncode()
вызывает исключение CalledProcessError
, если код возврата returncode
не равен нулю.
>>> import subprocess >>> complete = subprocess.run('ls -ls /tmp/*tpl', shell=True, \ stdout=subprocess.PIPE, encoding='utf-8') >>> complete.stdout # '4 -rw------- 1 docs-python docs-python 317 мая 12 09:56 /tmp/tmp-26999MFPH5MgIW157.tpl\n' >>> complete.returncode # 0 >>> complete.args # ['ls', '-ls', '/tmp/*tpl']