Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Python】subprocess.Popen()を使ったプロセスの並列起動について

 

PythonからWindowsexeファイルを実行したい場面などに便利なのが、Python標準ライブラリのsubprocessモジュールです。

 

今回は、subprocess.Popen()関数を使って、Pythonからexeファイルを実行する方法を紹介します。

 

1.基本的な使用方法

 

少し前に紹介したsubprocess.run()関数は、外部のプログラムを実行する便利な方法でした。

しかしながらsubprocess.run()関数での実行では、複数プロセスの並列起動のようなことはできませんでしたが、subprocess.Popen()関数はプロセスの並列起動が可能な関数になります。

 

簡単な例としてですが、Pythonから実行するexeファイルを「example.exe」、「example2.exe」とします。

 

以下のPythonファイルと同じディレクトリ内に実行ファイル「example.exe」、「example2.exe」があるとします。

まず、subprocess.run()関数を使って、

 

import subprocess

result1 = subprocess.run("example.exe")
result2 = subprocess.run("example2.exe")
print(result1)
print(result2)

 

とすると、「example.exe」が起動され、これが実行完了後、「example2.exe」が起動されます。

それに対して、

 

import subprocess

result1 = subprocess.Popen("example.exe")
result2 = subprocess.Popen("example2.exe")
print(result1)
print(result2)

 

とすると、「example.exe」が起動された後はこの実行完了を待たずに「example2.exe」が起動されます。

 

これによりプロセスの並列実行が可能となります。

 

以上が、Pythonでプロセスを並列実行する方法としてsubprocess.Popen()を使った簡単な手順になります。

 

関連記事:

【Python】Python仮想環境を別PCに移設する方法 - Django Girls and Boys 備忘録

 

【Python】Pythonで仮想環境を構築する手順 - Django Girls and Boys 備忘録

 

【Python 仮想環境構築】OneDriveに仮想環境を構築する方法 - Django Girls and Boys 備忘録

 

【Python PyTorch】WindowsでGPU(CUDA)を認識しない時に 「AssertionError: Torch not compiled with CUDA enabled 」というエラーが発生した時の対応方法 - Django Girls and Boys 備忘録

 

【Python】subprocess.Popen()を使ったプロセスの並列起動について - Django Girls and Boys 備忘録

 

【Python】exeファイルを実行する方法:subprocess.run()を使った簡単な手順 - Django Girls and Boys 備忘録

 

【Visual Studio Code】ターミナル画面で 「インポート ***** を解決できませんでした」というエラーが表示される場合の対応方法 - Django Girls and Boys 備忘録

 

プログラミング初心者に最適な一冊:『いちばんやさしいGit&GitHubの教本 第2版』 - Django Girls and Boys 備忘録

 

【Python】フォルダ内にあるファイル名を抽出する方法 - Django Girls and Boys 備忘録

 

【Python】キーの同時押し、連続操作などの実施方法 - Django Girls and Boys 備忘録

 

【Python】PythonでPdfWriterを使ってPDFファイルを分割する方法 - Django Girls and Boys 備忘録