Vad är filformatet PYW?
En .pyw-fil är ett Python-källkodsskript som körs utan att öppna ett konsolfönster i Windows. Syntaktiskt är den identisk med en vanlig .py-fil - giltig UTF-8 Python-källkod. Skillnaden ligger helt i filändelsen: Windows associerar .pyw med pythonw.exe, Python-tolken utan fönster, snarare än den vanliga python.exe. När en .pyw-fil startas visas inget terminalfönster, vilket gör den idealisk för GUI-applikationer byggda med tkinter, wxPython eller PyQt/PySide, samt för tysta bakgrundsskript.
Konventionen med .pyw etablerades tillsammans med de tidiga CPython Win32-portningarna i mitten av 1990-talet och formaliserades genom PEP 397 (Python Launcher for Windows), som ingår i Python sedan version 3.3. Python Launcher (py.exe / pyw.exe) läser filändelsen för att välja lämplig tolk.
På macOS tillhandahåller vissa Python-distributioner en pythonw-binär för Aqua GUI-integration, men .pyw är mindre vanligt förekommande där. På Linux har filändelsen ingen speciell betydelse - undertryckande av konsolen hanteras av nohup, processfrånkoppling eller själva GUI-verktyget.
En .pyw-fil kan börja med en shebang (#!/usr/bin/env python3) eller en kodningsdeklaration (# -*- coding: utf-8 -*-), men ingetdera krävs. Att byta namn på en .pyw till .py och köra den med python.exe fungerar alltid; ett konsolfönster kommer då att visas.
Säkerhet & trygghet
RISK: MEDIUMEn .pyw-fil är exekverbar Python-kod som körs tyst utan ett konsolfönster, vilket gör skadliga skript svårare att upptäcka (ingen synlig terminal). Behandla .pyw-filer från okända källor på samma sätt som alla okända körbara filer. Granska källkoden i en textredigerare innan körning. Python måste vara installerat för att filen ska kunna köras; utan Python är filen ofarlig.
Formatdetaljer
i ett nötskalProgram som öppnar PYW-filer
pythonw.exe (ingen konsol). För att redigera, högerklicka > Edit with IDLE. pythonw.exe om konsolundertryckning behövs under felsökning. pythonw.exe (ingen konsol). För att redigera, högerklicka > Edit with IDLE. pythonw.exe (ingen konsol). För att redigera, högerklicka > Edit with IDLE. Tekniska detaljer
djup specifikation| Exekvering i Windows | Startas av `pythonw.exe` - CPython-tolken utan fönster; inget konsolfönster tilldelas eller ärvs |
| Syntax | Identisk med `.py` - giltig Python 3 (eller Python 2) källkod; filändelsen är den enda funktionella skillnaden |
| Kodning | UTF-8 vanlig text; BOM tillåten men rekommenderas inte (PEP 8) |
| Filtypsregistrering i Windows | `.pyw` mappad till `pythonw.exe` via Windows-registret (`HKEY_CLASSES_ROOT\.pyw`) |
| Stöd för Python Launcher | PEP 397 `py.exe` / `pyw.exe` skickar `.pyw`-filer till fönsterhanteraren (Python 3.3+, Windows) |
| Konsolfönster | Inget - `pythonw.exe` kastar bort stdout/stderr om de inte uttryckligen omdirigeras till en fil eller pipe |
| Huvudsakligt användningsområde | GUI-applikationer (`tkinter`, `wxPython`, `PyQt`/`PySide`) och tysta bakgrundsskript |
| Magic bytes | Inga - vanlig UTF-8-text; valfri shebang `#!/usr/bin/env python3` eller kodningsdeklaration på rad 1 |
| MIME-typ | `text/x-python`; även `application/x-python` |
| Plattform | Windows (primär); macOS via `pythonw`-binär (vissa distributioner); Linux (filändelsen har ingen speciell betydelse) |
| Typisk filstorlek | 1 KB - 1 MB (endast källkod) |
| Kompatibilitet | Att byta namn på `.pyw` till `.py` och köra med `python.exe` fungerar alltid; ett konsolfönster kommer att visas |
| Relaterat format | `.py` - standard Python-skript; körs via `python.exe` i Windows, vilket tilldelar ett konsolfönster |
| Släppt | circa 1994 (Python for Windows; pythonw.exe introduced in early Win32 Python builds) |
| Senaste version | Python 3.x (current 3.13.x as of 2025); no separate .pyw format version |
| Öppen standard | Ja · royaltyfri |
| Specifikation | docs.python.org |
PYW-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PYW-filer.
Vanliga frågor
Vad är skillnaden mellan .py och .pyw?
pythonw.exe, vilket döljer konsolfönstret. Använd .pyw för GUI-appar; använd .py för skript som behöver terminalutdata.Varför händer ingenting när jag dubbelklickar på en .pyw-fil?
python.exe eller pythonw.exe.