[python]ターミナルウィンドウを表示させずに実行する方法(pythonw/pyw)

python
スポンサーリンク

ターミナルウィンドウを表示させずに実行する方法(pythonw/pyw)

はじめに

Pythonで作成したスクリプトをダブルクリックして実行すると、ターミナルウィンドウが開きます。
ターミナルウィンドウは、標準出力や標準エラー出力(例外メッセージなど)を確認するには便利ですが、以下のようなケースでは出したくない場合もあります。

<<ターミナルウィンドウを表示させたくないケース>>
①タスクスケジューラから起動するなどバックグラウンドで実行したい場合
②GUIアプリケーションのような他にメインウィンドウがある場合

開発環境

OS : Windows 11 Pro
Python:3.13.2
使用ライブラリ:なし

pythonの実行ファイル

pythonスクリプトを扱える実行ファイルは2種類存在します。
python.exepythonw.exe です。

pythonw.exe

python.exepythonw.exe の違いは、ターミナルウィンドウを表示させるかさせないかの違いになります。

実行ファイル名ターミナルウィンドウ表示関連付け拡張子
python.exeあり.py
pythonw.exeなし.pyw
使用例
拡張子変更

pythonw.exe に関連付けされている拡張子は「.pyw」であるため、pythonファイルの拡張子を「.pyw」としておけば、ダブルクリック実行時にターミナルウィンドウが表示されなくなります。

コマンドライン実行

コマンドラインから実行する場合は、pyw」または「pythonw」を使用します。

pyw sample.py
pythonw sample.py

おわりに

標準出力がされないため、開発中は「python.exe」を使用し、運用時に「pythonw.exe」を使用するのが良いと考えます。また、実運用時でもエラーなど発生することがあるため、別途ロギング処理を追加しておくなどのエラー対策も必要と考えます。

コメント

タイトルとURLをコピーしました