Wat is een PYC-bestand?
Een PYC-bestand is een gecompileerd uitvoerbestand dat is gegenereerd op basis van broncode die is geschreven in de programmeertaal Python. Wanneer het PY-bestand wordt uitgevoerd met behulp van de Python-interpreter, wordt het geconverteerd naar bytecode voor uitvoering. Tegelijkertijd wordt de gecompileerde bytecode ook opgeslagen als .pyc-bestand om op een later tijdstip opnieuw uit de cache te kunnen gebruiken, indien van toepassing.
Structuur van PYC-bestandsindeling
PYC-bestanden zijn in bytecode en hun specificaties voor bestandsindelingen zijn niet openbaar beschikbaar. Uit onderzoek door sommige bronnen blijkt echter dat de structuur van een PYC-bestand bestaat uit:
Een magisch getal van vier bytes
- Gewoon twee bytes die veranderen bij elke wijziging in de rangeercode, en dan twee bytes van 0d0a.Een vier-byte wijzigingstijdstempel
- Unix wijzigingstijdstempel van het bronbestand dat de .pyc heeft gegenereerd, zodat het opnieuw kan worden gecompileerd als de broncode verandert.- `Een gemarshalld code-object’ - de uitvoer van marshal.dump van het code-object dat het resultaat is van het compileren van het bronbestand.