ホームページ  >  記事  >  バックエンド開発  >  コマンドを実行するために os.popen から subprocess.popen() に移行するにはどうすればよいですか?

コマンドを実行するために os.popen から subprocess.popen() に移行するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-26 07:56:02875ブラウズ

How to Migrate from os.popen to subprocess.popen() for Executing a Command?

Python で os.popen から subprocess.popen() に移行する方法

質問:

os.popen が非推奨になったことを考慮して、次のコマンドを subprocess.popen() に変換するにはどうすればよいですか:

os.popen('swfdump /tmp/filename.swf/ -d')

答え:

コマンドを subprocess.popen() に変換し、次の手順に従います:

  1. 引数のリストを作成します: subprocess.Popen は引数のリストを入力として受け取ります。ここで、最初の引数ははコマンド名です。
  2. Use PIPE for stdout and stderr: stdout パラメータと stderr パラメータは、それぞれ出力ストリームとエラー ストリームをリダイレクトする場所を指定します。 PIPE を使用すると、出力をキャプチャできます。
  3. サブプロセスと通信します: communication() メソッドは、キャプチャされた出力ストリームとエラー ストリームを読み取って返します。

次のコード スニペットは変換を示しています。

<code class="python">from subprocess import Popen, PIPE

process = Popen(['swfdump', '/tmp/filename.swf', '-d'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()</code>

追加の注意:

サブプロセスのドキュメントには、「os.popen からの移行」というタイトルの専用セクションがあり、詳細な説明が提供されています。 os.popen からサブプロセスに移行するためのガイドライン。

以上がコマンドを実行するために os.popen から subprocess.popen() に移行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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