Qu'est-ce que le format de fichier PYW ?
Un fichier .pyw est un script source Python qui s'exécute sans ouvrir de fenêtre de console sous Windows. Syntaxiquement, il est identique à un fichier .py standard - du code source Python en UTF-8 valide. La distinction réside entièrement dans l'extension : Windows associe .pyw à pythonw.exe, l'interpréteur Python sans fenêtre, plutôt qu'au python.exe standard. Lorsqu'un fichier .pyw est lancé, aucune fenêtre de terminal n'apparaît, ce qui le rend idéal pour les applications GUI (interface graphique) construites avec tkinter, wxPython, ou PyQt/PySide, ainsi que pour les scripts d'arrière-plan silencieux.
La convention .pyw a été établie parallèlement aux premiers portages Win32 de CPython au milieu des années 1990 et a été formalisée par la PEP 397 (Python Launcher for Windows), incluse avec Python depuis la version 3.3. Le lanceur Python (py.exe / pyw.exe) lit l'extension de fichier pour sélectionner l'interpréteur approprié.
Sur macOS, certaines distributions Python fournissent un binaire pythonw pour l'intégration de l'interface graphique Aqua, mais le .pyw y est moins couramment utilisé. Sur Linux, l'extension n'a aucune signification particulière - la suppression de la console est gérée par nohup, le détachement de processus ou la boîte à outils GUI elle-même.
Un fichier .pyw peut commencer par un shebang (#!/usr/bin/env python3) ou une déclaration d'encodage (# -*- coding: utf-8 -*-), mais aucun des deux n'est obligatoire. Renommer n'importe quel .pyw en .py et l'exécuter avec python.exe fonctionne toujours ; une fenêtre de console apparaîtra dans ce cas.
Sécurité et sûreté
RISQUE : MEDIUMUn fichier .pyw est du code Python exécutable qui s'exécute silencieusement sans fenêtre de console, ce qui rend les scripts malveillants plus difficiles à détecter (pas de terminal visible). Traitez les fichiers .pyw de sources inconnues comme n'importe quel exécutable inconnu. Examinez le code source dans un éditeur de texte avant de l'exécuter. Python doit être installé pour que le fichier s'exécute ; sans Python, le fichier est inoffensif.
Détails du format
en brefProgrammes qui ouvrent les fichiers PYW
Détails techniques
spécifications approfondies| Exécution sous Windows | Lancé par `pythonw.exe` - l'interpréteur CPython sans fenêtre ; aucune fenêtre de console n'est allouée ou héritée |
| Syntaxe | Identique à `.py` - code source Python 3 (ou Python 2) valide ; l'extension est la seule distinction fonctionnelle |
| Encodage | Texte brut UTF-8 ; BOM autorisé mais non recommandé (PEP 8) |
| Enregistrement du type de fichier Windows | `.pyw` mappé à `pythonw.exe` via le registre Windows (`HKEY_CLASSES_ROOT\.pyw`) |
| Support du lanceur Python | PEP 397 `py.exe` / `pyw.exe` envoie les fichiers `.pyw` au lanceur fenêtré (Python 3.3+, Windows) |
| Fenêtre de console | Aucune - `pythonw.exe` ignore stdout/stderr à moins d'une redirection explicite vers un fichier ou un tube |
| Cas d'utilisation principal | Applications GUI (`tkinter`, `wxPython`, `PyQt`/`PySide`) et scripts d'arrière-plan silencieux |
| Octets magiques | Aucun - texte UTF-8 brut ; shebang `#!/usr/bin/env python3` ou déclaration d'encodage optionnelle à la ligne 1 |
| Type MIME | `text/x-python` ; également `application/x-python` |
| Plateforme | Windows (principal) ; macOS via le binaire `pythonw` (certaines distributions) ; Linux (l'extension n'a pas de sens particulier) |
| Taille de fichier typique | 1 Ko - 1 Mo (code source uniquement) |
| Compatibilité | Renommer `.pyw` en `.py` et l'exécuter avec `python.exe` fonctionne toujours ; une fenêtre de console apparaîtra |
| Format lié | `.py` - script Python standard ; s'exécute via `python.exe` sous Windows, en allouant une fenêtre de console |
| Publié | circa 1994 (Python for Windows; pythonw.exe introduced in early Win32 Python builds) |
| Dernière version | Python 3.x (current 3.13.x as of 2025); no separate .pyw format version |
| Standard ouvert | Oui · libre de droits |
| Spécification | docs.python.org |
Conversions PYW
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PYW.