subprocess.
DEVNULL
subprocess.
PIPE
subprocess.
run
(command_list, **kwargs)check - булево, рейзить ошибку, если код возврата команды не 0
input
stderr - входной поток данных
stdin - выходной поток данных по ошибкам
stdout - выходной поток данных
text - булево, stdout, stdin вернут строки, а не байты
list_files = subprocess.run(['ls', '-l'])
list_files.returncode
# 0
subprocess.run(['ls', '-l', '-a', '-h'])
subprocess.run(['ls', '-l'], stdout=subprocess.DEVNULL)
cat = subprocess.run(['cat'], stdout=subprocess.PIPE, text=True, input='ilnurgi')
cat.stdout
# ilnurgi
subprocess.run(['bad_command'], check=True)
# Error
subprocess.
Popen
(command_list, **kwargs)stderr - входной поток данных
stdin - выходной поток данных по ошибкам
stdout - выходной поток данных
text - булево, stdout, stdin вернут строки, а не байты
ls_cmd = Popen(['ls', '-l']
cat_cmd = Popen(
['cat'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
text=True,
)
communicate
(**kwargs)input
output, errors = cat_cmd.communicate(input='ilnurgi')
poll
()cat_cmd.poll()
wait
()cat_cmd.wait()