Che cos'è il formato di file PYW?
Un file .pyw è uno script sorgente Python che viene eseguito senza aprire una finestra di console su Windows. Sintatticamente è identico a un file .py standard - codice sorgente Python UTF-8 valido. La distinzione risiede interamente nell'estensione: Windows associa .pyw a pythonw.exe, l'interprete Python senza finestra, invece del normale python.exe. Quando viene lanciato un file .pyw, non appare alcuna finestra di terminale, il che lo rende ideale per applicazioni GUI create con tkinter, wxPython o PyQt/PySide, e per script silenziosi in background.
La convenzione .pyw è stata stabilita insieme ai primi port CPython Win32 a metà degli anni '90 ed è stata formalizzata dalla PEP 397 (Python Launcher for Windows), inclusa in Python dalla versione 3.3. Il Python Launcher (py.exe / pyw.exe) legge l'estensione del file per selezionare l'interprete appropriato.
Su macOS, alcune distribuzioni Python forniscono un binario pythonw per l'integrazione GUI Aqua, ma .pyw è meno comunemente usato lì. Su Linux l'estensione non ha alcun significato speciale - la soppressione della console è gestita da nohup, dal distacco del processo o dal toolkit GUI stesso.
Un file .pyw può iniziare con uno shebang (#!/usr/bin/env python3) o una dichiarazione di codifica (# -*- coding: utf-8 -*-), ma nessuno dei due è obbligatorio. Rinominare qualsiasi .pyw in .py ed eseguirlo con python.exe funziona sempre; in quel caso apparirà una finestra di console.
Sicurezza e incolumità
RISCHIO: MEDIUMUn file .pyw è codice Python eseguibile che gira silenziosamente senza una finestra di console, rendendo gli script malevoli più difficili da rilevare (nessun terminale visibile). Tratta i file .pyw da fonti sconosciute allo stesso modo di qualsiasi eseguibile sconosciuto. Esamina il codice sorgente in un editor di testo prima di eseguirlo. Python deve essere installato affinché il file venga eseguito; senza Python il file è innocuo.
Dettagli del formato
in sintesiProgrammi che aprono file PYW
pythonw.exe (senza console). Per modificare, tasto destro > Edit with IDLE. pythonw.exe se è necessaria la soppressione della console durante il debug. pythonw.exe (senza console). Per modificare, tasto destro > Edit with IDLE. pythonw.exe (senza console). Per modificare, tasto destro > Edit with IDLE. Dettagli tecnici
specifiche approfondite| Esecuzione su Windows | Lanciato da `pythonw.exe` - l'interprete CPython senza finestra; nessuna finestra di console viene allocata o ereditata |
| Sintassi | Identica a `.py` - codice sorgente Python 3 (o Python 2) valido; l'estensione è l'unica distinzione funzionale |
| Codifica | Testo semplice UTF-8; BOM consentito ma non raccomandato (PEP 8) |
| Registrazione tipo di file Windows | `.pyw` mappato a `pythonw.exe` tramite il registro di Windows (`HKEY_CLASSES_ROOT\.pyw`) |
| Supporto Python Launcher | PEP 397 `py.exe` / `pyw.exe` invia i file `.pyw` al launcher con finestra (Python 3.3+, Windows) |
| Finestra di console | Nessuna - `pythonw.exe` scarta stdout/stderr a meno che non vengano esplicitamente reindirizzati a un file o a una pipe |
| Caso d'uso principale | Applicazioni GUI (`tkinter`, `wxPython`, `PyQt`/`PySide`) e script silenziosi in background |
| Magic bytes | Nessuno - testo semplice UTF-8; shebang opzionale `#!/usr/bin/env python3` o dichiarazione di codifica alla riga 1 |
| Tipo MIME | `text/x-python`; anche `application/x-python` |
| Piattaforma | Windows (principale); macOS tramite binario `pythonw` (alcune distribuzioni); Linux (l'estensione non ha un significato speciale) |
| Dimensione tipica del file | 1 KB - 1 MB (solo codice sorgente) |
| Compatibilità | Rinominare `.pyw` in `.py` ed eseguire con `python.exe` funziona sempre; apparirà una finestra di console |
| Formato correlato | `.py` - script Python standard; viene eseguito tramite `python.exe` su Windows, allocando una finestra di console |
| Rilasciato | circa 1994 (Python for Windows; pythonw.exe introduced in early Win32 Python builds) |
| Ultima versione | Python 3.x (current 3.13.x as of 2025); no separate .pyw format version |
| Standard aperto | Sì · royalty-free |
| Specifica | docs.python.org |
Conversioni PYW
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file PYW.
Domande frequenti
Qual è la differenza tra .py e .pyw?
pythonw.exe, che sopprime la finestra della console. Usa .pyw per le app GUI; usa .py per gli script che necessitano di output nel terminale.Perché non succede nulla quando faccio doppio clic su un file .pyw?
python.exe o pythonw.exe.