PYW ファイル形式とは?
.pywファイルは、Windowsでコンソールウィンドウを開かずに実行されるPythonソーススクリプトです。構文的には標準の.pyファイルと同一であり、有効なUTF-8のPythonソースコードです。違いは拡張子のみにあります。Windowsは.pywを、標準のpython.exeではなく、ウィンドウレスのPythonインタープリタであるpythonw.exeに関連付けます。.pywファイルが起動されるとターミナルウィンドウが表示されないため、tkinter、wxPython、PyQt/PySideで構築されたGUIアプリケーションや、サイレントなバックグラウンドスクリプトに最適です。
.pywの慣習は、1990年代半ばの初期のCPython Win32ポートと共に確立され、Python 3.3以降に含まれるPEP 397(Python Launcher for Windows)によって正式化されました。Pythonランチャー(py.exe / pyw.exe)は、拡張子を読み取って適切なインタープリタを選択します。
macOSでは、一部のPythonディストリビューションがAqua GUI統合のためにpythonwバイナリを提供していますが、.pyw拡張子はそれほど一般的ではありません。Linuxでは、この拡張子に特別な意味はありません。コンソールの抑制はnohupやプロセスの切り離し、あるいはGUIツールキット自体によって処理されます。
.pywファイルはシバン(#!/usr/bin/env python3)やコーディング宣言(# -*- coding: utf-8 -*-)で始まる場合がありますが、どちらも必須ではありません。任意の.pywを.pyにリネームしてpython.exeで実行することは常に可能です。その場合、コンソールウィンドウが表示されます。
セキュリティと安全性
リスク: MEDIUM.pywファイルは、コンソールウィンドウなしで静かに実行される実行可能なPythonコードです。そのため、悪意のあるスクリプトが検出されにくくなります(表示されるターミナルがないため)。不明なソースからの.pywファイルは、不明な実行ファイルと同様に扱ってください。実行前にテキストエディタでソースコードを確認してください。ファイルを実行するにはPythonがインストールされている必要があります。Pythonがない場合、ファイルは無害です。
形式の詳細
概要PYW ファイルを開くプログラム
技術的詳細
詳細仕様| Windowsでの実行 | `pythonw.exe`(ウィンドウレスCPythonインタープリタ)によって起動されます。コンソールウィンドウは割り当てられず、継承もされません |
| 構文 | `.py`と同一。有効なPython 3(またはPython 2)ソースコード。拡張子が唯一の機能的な違いです |
| エンコーディング | UTF-8プレーンテキスト。BOMは許可されますが推奨されません(PEP 8) |
| Windowsファイルタイプ登録 | Windowsレジストリ(`HKEY_CLASSES_ROOT\.pyw`)を介して`.pyw`が`pythonw.exe`にマップされます |
| Pythonランチャーのサポート | PEP 397の`py.exe` / `pyw.exe`が、`.pyw`ファイルをウィンドウレスランチャーに振り分けます(Python 3.3以降、Windows) |
| コンソールウィンドウ | なし。`pythonw.exe`は、ファイルやパイプに明示的にリダイレクトされない限り、stdout/stderrを破棄します |
| 主なユースケース | GUIアプリケーション(`tkinter`、`wxPython`、`PyQt`/`PySide`)およびサイレントなバックグラウンドスクリプト |
| マジックバイト | なし。プレーンなUTF-8テキスト。1行目にオプションのシバン`#!/usr/bin/env python3`またはコーディング宣言 |
| MIMEタイプ | `text/x-python`、または`application/x-python` |
| プラットフォーム | Windows(メイン)、macOS(一部の配布版の`pythonw`バイナリ経由)、Linux(拡張子に特別な意味なし) |
| 一般的なファイルサイズ | 1 KB - 1 MB(ソースコードのみ) |
| 互換性 | `.pyw`を`.py`にリネームして`python.exe`で実行することは常に可能です。その場合はコンソールウィンドウが表示されます |
| 関連フォーマット | `.py` - 標準のPythonスクリプト。Windowsでは`python.exe`経由で実行され、コンソールウィンドウが割り当てられます |
| リリース日 | circa 1994 (Python for Windows; pythonw.exe introduced in early Win32 Python builds) |
| 最新バージョン | Python 3.x (current 3.13.x as of 2025); no separate .pyw format version |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | docs.python.org |
PYW の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。PYW ファイルについて最初の質問をしてみましょう。