Co to jest format pliku PYW?
Plik .pyw to skrypt źródłowy Python, który uruchamia się bez otwierania okna konsoli w systemie Windows. Pod względem składni jest on identyczny ze standardowym plikiem .py - to poprawny kod źródłowy Python w formacie UTF-8. Różnica polega wyłącznie na rozszerzeniu: Windows kojarzy .pyw z pythonw.exe, czyli interpreterem Python bez okna, zamiast standardowego python.exe. Po uruchomieniu pliku .pyw nie pojawia się okno terminala, co czyni go idealnym dla aplikacji GUI zbudowanych przy użyciu tkinter, wxPython lub PyQt/PySide, a także dla cichych skryptów działających w tle.
Konwencja .pyw została ustanowiona wraz z wczesnymi portami CPython dla Win32 w połowie lat 90. i została sformalizowana przez PEP 397 (Python Launcher for Windows), dołączony do Python od wersji 3.3. Python Launcher (py.exe / pyw.exe) odczytuje rozszerzenie pliku, aby wybrać odpowiedni interpreter.
W systemie macOS niektóre dystrybucje Python dostarczają plik binarny pythonw w celu integracji z Aqua GUI, ale rozszerzenie .pyw jest tam rzadziej używane. W systemie Linux rozszerzenie to nie ma specjalnego znaczenia - ukrywanie konsoli jest obsługiwane przez nohup, odłączanie procesów lub sam zestaw narzędzi GUI.
Plik .pyw może zaczynać się od shebang (#!/usr/bin/env python3) lub deklaracji kodowania (# -*- coding: utf-8 -*-), ale żadne z nich nie jest wymagane. Zmiana nazwy dowolnego pliku .pyw na .py i uruchomienie go za pomocą python.exe zawsze działa; w takim przypadku pojawi się okno konsoli.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .pyw to wykonywalny kod Python, który działa cicho bez okna konsoli, co utrudnia wykrycie złośliwych skryptów (brak widocznego terminala). Traktuj pliki .pyw z nieznanych źródeł tak samo, jak każdy nieznany plik wykonywalny. Przejrzyj kod źródłowy w edytorze tekstu przed uruchomieniem. Python musi być zainstalowany, aby plik mógł zostać wykonany; bez Python plik jest nieszkodliwy.
Szczegóły formatu
w pigułceProgramy otwierające pliki PYW
Szczegóły techniczne
specyfikacja| Wykonywanie w systemie Windows | Uruchamiany przez `pythonw.exe` - interpreter CPython bez okna; żadne okno konsoli nie jest przydzielane ani dziedziczone |
| Składnia | Identyczna z `.py` - poprawny kod źródłowy Python 3 (lub Python 2); rozszerzenie jest jedyną różnicą funkcjonalną |
| Kodowanie | Zwykły tekst UTF-8; BOM dozwolony, ale niezalecany (PEP 8) |
| Rejestracja typu pliku w Windows | `.pyw` przypisany do `pythonw.exe` poprzez rejestr Windows (`HKEY_CLASSES_ROOT\.pyw`) |
| Obsługa Python Launcher | PEP 397 `py.exe` / `pyw.exe` kieruje pliki `.pyw` do launchera okienkowego (Python 3.3+, Windows) |
| Okno konsoli | Brak - `pythonw.exe` odrzuca stdout/stderr, chyba że zostaną jawnie przekierowane do pliku lub potoku |
| Główny przypadek użycia | Aplikacje GUI (`tkinter`, `wxPython`, `PyQt`/`PySide`) i ciche skrypty działające w tle |
| Magiczne bajty | Brak - zwykły tekst UTF-8; opcjonalny shebang `#!/usr/bin/env python3` lub deklaracja kodowania w pierwszej linii |
| Typ MIME | `text/x-python`; również `application/x-python` |
| Platforma | Windows (główna); macOS poprzez binarny `pythonw` (niektóre dystrybucje); Linux (rozszerzenie nie ma specjalnego znaczenia) |
| Typowy rozmiar pliku | 1 KB - 1 MB (tylko kod źródłowy) |
| Kompatybilność | Zmiana nazwy `.pyw` na `.py` i uruchomienie za pomocą `python.exe` zawsze działa; pojawi się wtedy okno konsoli |
| Powiązany format | `.py` - standardowy skrypt Python; uruchamiany przez `python.exe` w Windows z przydzieleniem okna konsoli |
| Wydano | circa 1994 (Python for Windows; pythonw.exe introduced in early Win32 Python builds) |
| Najnowsza wersja | Python 3.x (current 3.13.x as of 2025); no separate .pyw format version |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | docs.python.org |
Konwersje PYW
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki PYW.