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']