Python実行シェルコマンドPythonサブプロセス
2359 ワード
PythonのサブプロセスはPythonのモジュールで、シェルコマンドを実行したり、入力/出力/エラーパイプを取得したり、Python言語から実行されたコマンドのエラーコードを得ることができます.
Pythonがサブモジュールを処理する理由
シェルコマンドを実行するのに役立つPythonの他のモジュールを知っていますか?あなたの答えはPythonの' os 'モジュールになります.
ossystem ()はPythonプログラムからシェルコマンドを実行するのに役立ちますが、問題はPythonプログラムで実行されたコマンドの出力を得ることができないことです.
ossystem ()
例:
osのエラーコード.system ()
例:
ossystem ()パイプライン
ossystem ()
* osspawn ()
ospopen ()
POPEN 2(
コマンド.(
Pythonの公式文書によると、サブプロセスモジュールはこれらの以前に述べられている関数を非常にすぐに廃止される予定です.
Pythonでサブプロセスを選択する理由を知っているときに、どの関数を置き換えるかを知っています.では、Pythonのサブプロセスモジュールについて学びましょう.
Python subprocess run function
の引数
例:
CompletedProcessオブジェクト
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 function
subprocess.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 元の投稿から.Reference
この問題について(Python実行シェルコマンドPythonサブプロセス), 我々は、より多くの情報をここで見つけました https://dev.to/divshekhar/python-subprocess-execute-shell-commands-1bl2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol