ホームページ バックエンド開発 Python チュートリアル Python 2.x でサブプロセス管理にサブプロセス モジュールを使用する方法

Python 2.x でサブプロセス管理にサブプロセス モジュールを使用する方法

Jul 30, 2023 am 10:07 AM
python x サブプロセスモジュール サブプロセス管理

Python 2 でサブプロセス管理にサブプロセス モジュールを使用する方法。xx

概要:
Python 開発では、プログラム内で他の外部コマンドやプログラムを呼び出す必要がある場合があります。サブプロセス モジュールは、Python によって提供される標準ライブラリであり、サブプロセスを簡単に作成して通信することができます。この記事では、サブプロセス管理にサブプロセス モジュールを使用する方法を紹介し、コード例を示して説明します。

  1. サブプロセスの作成:
    サブプロセス モジュールで最も一般的に使用される関数は subprocess.Popen() で、新しいプロセスを開始して Popen オブジェクトを返すことができます。 Popen() 関数を使用してサブプロセスを作成するための基本的な構文は次のとおりです。
import subprocess

subprocess.Popen(args, bufsize=0, executable=None, stdin=None, stdout=None, stderr=None, preexec_fn=None, 
                 close_fds=False, shell=False, cwd=None, env=None, universal_newlines=False, startupinfo=None, 
                 creationflags=0)
ログイン後にコピー

パラメータの説明:

  • args: 文字列またはシーケンス タイプ コマンド ライン パラメータ
  • bufsize: 入力バッファと出力バッファのサイズを制御するパラメータ。0 はバッファリングなしを表し、1 はライン バッファリングを表し、その他の正の数値はバッファ サイズを表します。 executable: 実行可能ファイルへのパス、デフォルト システム PATH 環境変数の検索パスを使用します
  • stdin: 子プロセスの標準入力ストリーム、デフォルトは PIPE、つまり stdin 属性を介した入力ですPopen オブジェクトの
  • stdout: 子プロセス ストリームの標準出力。デフォルトは PIPE で、Popen オブジェクトの stdout 属性を通じて出力されます。
  • stderr: 子プロセスの標準エラー ストリーム子プロセス。デフォルトは PIPE で、Popen オブジェクトの stderr 属性を通じて出力されます。
  • preexec_fn : 子プロセスが開始される前に呼び出される実行可能オブジェクト
  • close_fds: かどうか不要になったファイル記述子を閉じるには、デフォルトは False
  • shell: シェルを介してコマンド解析を実行するかどうか、デフォルトは False
  • cwd: 作業ディレクトリ、デフォルトは None
  • env: 環境変数、デフォルトは None、つまり親プロセスの環境変数を使用します
  • universal_newlines: 入出力の制御 テキスト モードに変換するかどうか、デフォルトは False
  • startupinfo: 子プロセスの起動情報、デフォルトは Noneです。
  • creationflags: 子プロセスの作成フラグ、デフォルトは 0
  • サンプルコード 1:サブプロセスを開始してコマンドを実行し、サブプロセスの出力を取得します。
import subprocess

cmd = "ls -l"
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
output, _ = p.communicate()
print(output)
ログイン後にコピー

サブプロセスの入力と出力:
    サブプロセスを作成するとき、
  1. Popen()
    の stdin、stdout、および stderr パラメータを通じてサブプロセスを指定できます。関数の入力 出力。これらのパラメータが指定されていない場合、デフォルトで新しいパイプが作成され、Popen オブジェクトのプロパティを通じて読み書きされます。
  2. サンプルコード 2: 子プロセスを起動し、パイプ経由で入出力を実行します。
import subprocess

cmd = "grep -E 'a|b|c'"
p = subprocess.Popen(cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE)
input_data = "abcdefg
hijklmnop
qrstuvwxyz
"
output, _ = p.communicate(input_data)
print(output)
ログイン後にコピー

サンプル コード 3: サブプロセスを開始し、出力をファイルにリダイレクトします。

import subprocess

cmd = "grep -E 'a|b|c' input.txt > output.txt"
subprocess.Popen(cmd, shell=True)
ログイン後にコピー

子プロセスの終了を待機しています:
    子プロセスの実行は非同期です。デフォルトでは、
  1. Popen()
    関数は Popen オブジェクトを返します子プロセスの実行が完了するまで待つのではなく、すぐに実行します。次のステップに進む前に、子プロセスの実行が完了するまで待つ必要がある場合は、Popen() オブジェクトの wait() メソッドを使用できます。
  2. サンプル コード 4: 子プロセスを開始し、その実行が完了するまで待ちます。
import subprocess

cmd = "ls -l"
p = subprocess.Popen(cmd, shell=True)
p.wait()
print("子进程执行完毕")
ログイン後にコピー

子プロセスの終了ステータス コードをキャプチャします。
    各子プロセスには、その実行結果を表す終了ステータス コードがあります。
  1. Popen()
    オブジェクトの returncode 属性を使用して、子プロセスの終了ステータス コードを取得できます。それが 0 の場合は、実行が成功したことを意味します。
  2. サンプル コード 5: 子プロセスの終了ステータス コードを取得します。
import subprocess

cmd = "ls -l"
p = subprocess.Popen(cmd, shell=True)
p.wait()
if p.returncode == 0:
    print("子进程执行成功")
else:
    print("子进程执行失败")
ログイン後にコピー

概要:

サブプロセス モジュールを使用すると、Python プログラムでサブプロセスを簡単に作成し、プロセスを管理できます。具体的な操作方法としては、子プロセスの作成、子プロセスの入出力の制御、子プロセスの終了待ち、子プロセスの終了ステータスコードの取得などが挙げられます。この知識を習得すると、サブプロセス管理に Python をより適切に活用し、プログラムの柔軟性と拡張性を向上させることができます。


上記は、Python 2.x でのサブプロセス管理のためのサブプロセス モジュールの使用に関する関連コンテンツです。お役に立てれば。

以上がPython 2.x でサブプロセス管理にサブプロセス モジュールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

math モジュールを使用して Python 3.x で数学演算を実行する方法 math モジュールを使用して Python 3.x で数学演算を実行する方法 Aug 01, 2023 pm 03:15 PM

math モジュールを使用して Python 3.x で数学的演算を実行する方法 はじめに: Python プログラミングでは、数学的演算を実行することが一般的な要件です。数学演算の処理を容易にするために、Python は数学ライブラリを提供します。このライブラリには、数学計算および数学関数用の多くの関数と定数が含まれています。この記事では、math モジュールを使用して一般的な数学演算を実行する方法を紹介し、対応するコード例を示します。 1. 基本的な数学演算の加算は、math モジュールの関数 math.add() を使用して実行されます。

urllib.parse.unquote() 関数を使用して Python 3.x で URL をデコードする方法 urllib.parse.unquote() 関数を使用して Python 3.x で URL をデコードする方法 Aug 02, 2023 pm 02:25 PM

Python 3.x で urllib.parse.unquote() 関数を使用して URL をデコードする方法。Python の urllib ライブラリでは、urllib.parse モジュールは URL エンコードとデコードのための一連のツール関数を提供します。その中には urllib.parse.unquote があります。 () 関数を使用して URL をデコードできます。この記事ではurllib.parse.unの使い方を紹介します。

Python 2.x で join() 関数を使用して文字列のリストを 1 つの文字列にマージする方法 Python 2.x で join() 関数を使用して文字列のリストを 1 つの文字列にマージする方法 Jul 30, 2023 am 08:36 AM

Python2.x で join() 関数を使用して文字列のリストを 1 つの文字列にマージする方法 Python では、複数の文字列を 1 つの文字列にマージする必要がよくあります。 Python では、この目標を達成するためのさまざまな方法が提供されています。一般的な方法の 1 つは、join() 関数を使用することです。 join() 関数は、文字列のリストを文字列に連結でき、連結時に区切り文字を指定できます。 join() 関数を使用するための基本的な構文は次のとおりです。

Java 14 で型パターン マッチングにパターン マッチングを使用する方法 Java 14 で型パターン マッチングにパターン マッチングを使用する方法 Jul 31, 2023 pm 12:01 PM

Java14 で型パターン マッチングに PatternMatching を使用する方法 はじめに: Java14 では、コンパイル時に型パターン マッチングに使用できる強力なツールである新機能 PatternMatching を導入しています。この記事では、Java14 で型パターン マッチングに PatternMatching を使用する方法とコード例を紹介します。パターンマッチングパターンの概念を理解する

os モジュールを使用して Python 3.x でシステム コマンドを実行する方法 os モジュールを使用して Python 3.x でシステム コマンドを実行する方法 Jul 31, 2023 pm 12:19 PM

Python3.x で os モジュールを使用してシステム コマンドを実行する方法 Python3.x の標準ライブラリでは、os モジュールはシステム コマンドを実行するための一連のメソッドを提供します。この記事では、os モジュールを使用してシステム コマンドを実行する方法と、対応するコード例を示します。 Python の os モジュールは、オペレーティング システムと対話するためのインターフェイスです。システムコマンドの実行、ファイルやディレクトリへのアクセスなどのメソッドを提供します。以下は、システム コマンドの実行に使用できる、一般的に使用される OS モジュール メソッドの一部です。

Python 2.x で write() 関数を使用してコンテンツをファイルに書き込む方法 Python 2.x で write() 関数を使用してコンテンツをファイルに書き込む方法 Jul 30, 2023 am 08:37 AM

Python2.x で write() 関数を使用してコンテンツをファイルに書き込む方法 Python2.x では、write() 関数を使用してコンテンツをファイルに書き込むことができます。 write() 関数はファイル オブジェクトのメソッドの 1 つであり、文字列またはバイナリ データをファイルに書き込むために使用できます。この記事では、write() 関数の使い方と一般的な使用例を詳しく説明します。ファイルを開きます。 write() 関数を使用してファイルに書き込む前に、

urllib.quote() 関数を使用して Python 2.x で URL をエンコードする方法 urllib.quote() 関数を使用して Python 2.x で URL をエンコードする方法 Jul 31, 2023 pm 08:37 PM

urllib.quote() 関数を使用して Python 2.x で URL をエンコードする方法。URL には、文字、数字、特殊文字など、さまざまな文字が含まれています。 URL を送信して正しく解析するには、URL 内の特殊文字をエンコードする必要があります。 Python2.xではurllib.quote()関数を使ってURLをエンコードすることができるので、その使い方を詳しく紹介します。 URLlib.quote

Python 2.x でハッシュ アルゴリズム計算に hashlib モジュールを使用する方法 Python 2.x でハッシュ アルゴリズム計算に hashlib モジュールを使用する方法 Jul 29, 2023 pm 05:16 PM

Python 2.x でハッシュ アルゴリズム計算に hashlib モジュールを使用する方法: Python プログラミングでは、ハッシュ アルゴリズムは、データの一意の ID を生成するためによく使用されるアルゴリズムです。 Python は、ハッシュ アルゴリズムの計算を実行するための hashlib モジュールを提供します。この記事では、hashlib モジュールを使用してハッシュ アルゴリズムの計算を実行する方法といくつかのサンプル コードを紹介します。 hashlib モジュールは Python 標準ライブラリの一部であり、MD5、SH などのさまざまな一般的なハッシュ アルゴリズムを提供します。

See all articles