Qu'est-ce que le format de fichier PY ?
.py est l'extension de fichier utilisée par les fichiers de script écrits dans le langage de programmation Python. Un fichier .py contient du code source écrit en Python - stocké sous forme de texte brut en encodage UTF-8 par défaut, de sorte qu'il peut être lu et modifié sans aucun outil spécial.
Polyvalence des fichiers .py
Le format .py a de nombreuses applications et est extrêmement populaire, porté par l'interpréteur Python largement utilisé et son vaste écosystème de bibliothèques. Ce format est pris en charge sur de nombreux systèmes d'exploitation, notamment Windows, macOS et Unix/Linux. La portée de Python s'étend désormais du développement web et de la science des données à l'apprentissage automatique et à l'automatisation, rendant les fichiers .py présents dans pratiquement tous les domaines du développement logiciel moderne.
Gestion des fichiers .py
Visualiser, ouvrir et éditer des fichiers .py est possible à l'aide de n'importe quel éditeur de texte. L'exécution d'un script .py, cependant, nécessite un interpréteur Python installé sur le système - les commandes standard sont python script.py ou python3 script.py. Les fichiers de script .py sont couramment utilisés pour l'administration système, l'automatisation des tâches et le traitement des données. Lorsque Python importe un module, il peut créer un cache .pyc compilé à côté de la source. Les variantes associées incluent les fichiers .pyw (scripts GUI Windows sans fenêtre de console) et les fichiers stub .pyi utilisés pour les indices de type.
Sécurité et sûreté
RISQUE : HIGHUn fichier .py est un programme - son exécution lance le code qu'il contient avec vos permissions d'utilisateur. N'exécutez JAMAIS un script Python provenant d'une source non fiable sans l'avoir lu au préalable ; des scripts malveillants peuvent supprimer des fichiers, installer des logiciels malveillants ou voler des données, et Python est un langage couramment utilisé pour la distribution de malwares. Le simple fait d'OUVRIR un .py dans un éditeur de texte est sûr (ce n'est que du texte). Soyez prudent avec les « pip install » de paquets inconnus requis par un script - les paquets PyPI victimes de typosquattage sont un vecteur d'attaque réel. En cas de doute, lisez la source ; le .py est lisible par l'homme par conception.
Détails du format
en brefProgrammes qui ouvrent les fichiers PY
Détails techniques
spécifications approfondies| Type de fichier | Code source Python en texte brut |
| Type MIME | text/x-python |
| Encodage par défaut | UTF-8 (PEP 3120) ; peut être remplacé par une déclaration `# -*- coding: <nom> -*-` sur la ligne 1 ou 2 |
| Support Shebang | Les scripts Unix/Linux placent `#!/usr/bin/env python3` sur la ligne 1 pour permettre une exécution directe sans invoquer l'interpréteur explicitement |
| Syntaxe d'indentation | Espaces significatifs - l'indentation fait partie de la grammaire ; la PEP 8 recommande 4 espaces par niveau |
| Point d'entrée du module | La garde `if __name__ == "__main__":` sépare le code importable du code qui s'exécute uniquement lorsque le fichier est lancé directement |
| Cache compilé | CPython compile la source `.py` en bytecode `.pyc` et le stocke dans `__pycache__/` pour accélérer les importations ultérieures |
| Support des indices de type | Annotations en ligne optionnelles selon la PEP 484 (Python 3.5+) ; les définitions de stub séparées résident dans les fichiers `.pyi` |
| Syntaxe des commentaires | `#` introduit un commentaire sur une seule ligne ; les chaînes entre triples guillemets (`"""..."""`) servent de docstrings pour les modules, classes et fonctions |
| Runtimes | CPython (implémentation de référence), PyPy, Jython, MicroPython, GraalPy |
| Fins de ligne | LF préféré sur toutes les plateformes ; CRLF est accepté sur Windows |
| Système d'importation | `import` et `from ... import` chargent les modules ; un répertoire contenant `__init__.py` est traité comme un paquet |
| Octets magiques | Aucun - `.py` est un fichier texte brut sans signature binaire ; identifié par son contenu (shebang, mots-clés `import`/`def`/`class`, ou motif d'indentation) |
| Publié | 1991 (Python 0.9.0); language steward: Python Software Foundation since 2001 |
| Standard ouvert | Oui · libre de droits |
| Spécification | docs.python.org |