Python実行シェルコマンドPythonサブプロセス


PythonのサブプロセスはPythonのモジュールで、シェルコマンドを実行したり、入力/出力/エラーパイプを取得したり、Python言語から実行されたコマンドのエラーコードを得ることができます.

Pythonがサブモジュールを処理する理由
シェルコマンドを実行するのに役立つPythonの他のモジュールを知っていますか?あなたの答えはPythonの' os 'モジュールになります.
ossystem ()はPythonプログラムからシェルコマンドを実行するのに役立ちますが、問題はPythonプログラムで実行されたコマンドの出力を得ることができないことです.
ossystem ()
>>> import os

>>> os.system('ls')

main.py  requirements.txt  venv
出力は端末で生成される.実行中のシェルコマンドのエラーコードを取得できます.
例:
osのエラーコード.system ()
import os

out = os.system('ls')

>>> print(out)

0
実行シェルコマンドの出力を取得する1つの方法は、パイプライン演算子を使用して出力をテキストファイルに格納してから、Pythonプログラムでファイルを読み込みます.
例:
ossystem ()パイプライン
import os

os.system('ls > output.txt')

file = open('output.txt','r')

>>> print(file.read())

output.txt
main.py
requirements.txt
venv
Python subprocessモジュールはPythonプログラムからシェルコマンドを実行するための高レベルインターフェースで、以下のPythonモジュールと関数を置き換えることを目的としています:
ossystem ()
* osspawn ()
ospopen ()
POPEN 2(
コマンド.(
Pythonの公式文書によると、サブプロセスモジュールはこれらの以前に述べられている関数を非常にすぐに廃止される予定です.
Pythonでサブプロセスを選択する理由を知っているときに、どの関数を置き換えるかを知っています.では、Pythonのサブプロセスモジュールについて学びましょう.

Python subprocess run functionsubprocess.run(args, *, stdin=None, input=None, stdout=None, stderr=None, capture_output=False, shell=False, cwd=None, timeout=None, check=False, encoding=None, errors=None, text=None, env=None, universal_newlines=None, **other_popen_kwargs)サブプロセス.run ()関数はPython 3.5で追加され、Pythonプログラムでシェルコマンドを実行するためにrun ()関数を使うことを推奨します.
の引数subprocess.run() 関数はシェルコマンドを受け取り、Pythonの完全なプロセスのオブジェクトを返す.
例:
CompletedProcessオブジェクト
out = subprocess.run('ls', shell=True)

>>> print(out)

CompletedProcess(args='ls', returncode=0)
詳しく知るPython Subprocess 元の投稿から.