ホームページ >バックエンド開発 >Python チュートリアル >Python の「subprocess」モジュールでコマンドをパイプする方法は?
Python のサブプロセスを使用してコマンドをパイプする方法
質問: で subprocess.check_output() を利用するにはどうすればよいですか? ps -A | などのパイプコマンドgrep 'process_name'?
回答:
subprocess モジュールでパイプを使用することは可能ですが、セキュリティ上の懸念があるため、注意して shell=True を使用することをお勧めします。代わりに、ps プロセスと grep プロセスを分離し、その出力をパイプすることを検討してください。
ps = subprocess.Popen(('ps', '-A'), stdout=subprocess.PIPE) output = subprocess.check_output(('grep', 'process_name'), stdin=ps.stdout) ps.wait()
ただし、この特定のケースでは、より簡単な解決策は subprocess.check_output(('ps', '-A') を呼び出すことです。 ) を実行し、出力に対して str.find を実行します。
以上がPython の「subprocess」モジュールでコマンドをパイプする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。