subprocess¶
run()¶
-
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
Popen()¶
- class
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()