Wat is het PY-bestandsformaat?
.py is de bestandsextensie die wordt gebruikt door scriptbestanden geschreven in de programmeertaal Python. Een .py-bestand bevat broncode geschreven in Python - standaard opgeslagen als platte tekst in UTF-8-codering, zodat het zonder speciale hulpmiddelen kan worden gelezen en aangepast.
Veelzijdigheid van .py-bestanden
Het .py-formaat heeft vele toepassingen en is extreem populair, gedreven door de veelgebruikte interpreter van Python en het enorme ecosysteem aan bibliotheken. Dit formaat wordt ondersteund op vele besturingssystemen, waaronder Windows, macOS en Unix/Linux. Het bereik van Python strekt zich nu uit van webontwikkeling en datawetenschap tot machine learning en automatisering, waardoor .py-bestanden aanwezig zijn in vrijwel elk gebied van moderne softwareontwikkeling.
Beheer van .py-bestanden
Het bekijken, openen en bewerken van .py-bestanden is mogelijk met elke tekstverwerker. Het uitvoeren van een .py-script vereist echter een Python-interpreter die op het systeem is geïnstalleerd - de standaardopdrachten zijn python script.py of python3 script.py. .py-scriptbestanden worden veelvuldig gebruikt voor systeembeheer, taakautomatisering en gegevensverwerking. Wanneer Python een module importeert, kan het een gecompileerde .pyc-cache aanmaken naast de broncode. Gerelateerde varianten zijn onder meer .pyw (Windows GUI-scripts zonder consolevenster) en .pyi-stubbestanden die worden gebruikt voor type-hints.
Beveiliging & veiligheid
RISICO: HIGHEen .py-bestand is een programma - het uitvoeren ervan start de code die het bevat, met uw gebruikersrechten. Voer NOOIT een Python-script uit van een onbetrouwbare bron zonder het eerst te lezen; kwaadaardige scripts kunnen bestanden verwijderen, malware installeren of gegevens stelen, en Python is een veelgebruikte taal voor het verspreiden van malware. Alleen het OPENEN van een .py in een tekstverwerker is veilig (het is slechts tekst). Wees voorzichtig met „pip install” van onbekende pakketten die een script vereist - typosquatted PyPI-pakketten zijn een reëel aanvalsrisico. Lees bij twijfel de broncode; .py is door ontwerp menselijk leesbaar.
Formaatdetails
in een notendopProgramma's die PY-bestanden openen
Technische details
diepe specificaties| Bestandstype | Platte tekst Python-broncode |
| MIME-type | text/x-python |
| Standaardcodering | UTF-8 (PEP 3120); overschreven door een `# -*- coding: <naam> -*-` declaratie op regel 1 of 2 |
| Shebang-ondersteuning | Unix/Linux-scripts plaatsen `#!/usr/bin/env python3` op regel 1 om directe uitvoering mogelijk te maken zonder de interpreter expliciet aan te roepen |
| Inspringsyntaxis | Significante witruimte - inspringen is onderdeel van de grammatica; PEP 8 adviseert 4 spaties per niveau |
| Module-ingangspunt | `if __name__ == "__main__":` guard scheidt importeerbare code van code die alleen draait wanneer het bestand direct wordt uitgevoerd |
| Gecompileerde cache | CPython compileert `.py`-broncode naar `.pyc`-bytecode en slaat dit op in `__pycache__/` om volgende imports te versnellen |
| Type-hint ondersteuning | Optionele inline annotaties volgens PEP 484 (Python 3.5+); aparte stub-definities staan in `.pyi`-bestanden |
| Commentaar-syntaxis | `#` introduceert een regelcommentaar; triple-quoted strings (`"""..."""`) dienen als docstrings voor modules, klassen en functies |
| Runtimes | CPython (referentie-implementatie), PyPy, Jython, MicroPython, GraalPy |
| Regeleinden | LF geniet de voorkeur op alle platforms; CRLF wordt geaccepteerd op Windows |
| Importsysteem | `import` en `from ... import` laden modules; een map die `__init__.py` bevat wordt behandeld als een pakket |
| Magic bytes | Geen - `.py` is een platte-tekstbestand zonder binaire signatuur; geïdentificeerd door inhoud (shebang, `import`/`def`/`class` trefwoorden, of inspringpatroon) |
| Uitgebracht | 1991 (Python 0.9.0); language steward: Python Software Foundation since 2001 |
| Open standaard | Ja · royaltyvrij |
| Specificatie | docs.python.org |
PY conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over PY-bestanden.