Waarom PYC naar PYO converteren?
.pyo was de geoptimaliseerde bytecode van Python, bijna identiek aan .pyc maar met verwijderde assert-statements en optioneel gestripte docstrings. Python 3.5 heeft het optimalisatieniveau in de .pyc-bestandsnaam verwerkt, waardoor .pyo overbodig werd en volledig is verwijderd. Geen enkele Python-versie sinds 3.5 leest of schrijft .pyo-bestanden, dus een PYC-naar-PYO-converter heeft geen legitiem doel.
Over deze formaten
Een .pyc-bestand is gecompileerde Python-bytecode die CPython automatisch buffert om het opstarten te versnellen. Normaal gesproken hoeft u dit niet te openen of aan te raken. Om er een uit…
Open .PYC details →Een .pyo-bestand is een verouderde Python-geoptimaliseerde bytecode-cache die wordt gegenereerd door Python uit te voeren met de -O of -OO vlag. Het binaire formaat is identiek aan een…
Open .PYO details →Kwaliteit & waar op te letten
- Om geoptimaliseerde bytecode te produceren in Python 3.5+, voer
python -O -m compileall yourscript.pyuit; het resultaat is een.pyc-bestand metopt-1in de naam in de map__pycache__. - Als u een
.pyo-bestand heeft van een Python 2 of vroeg Python 3 project, kunt u het hernoemen naar.pycen het uitvoeren met de bijbehorende Python-versie - de interpreter zal het laden als het magic number overeenkomt. pyoen.pycwaren functioneel vrijwel identiek, zelfs vóór de verwijdering, wat precies de reden is waarom de afzonderlijke extensie in Python 3.5 werd geëlimineerd.
Veelgestelde vragen
Is .pyo hetzelfde als .pyc?
assert-statements, wat de reden is waarom de aparte extensie in Python 3.5 is verwijderd.Ik heb een .pyo-bestand van een oud project. Kan ik dit nog gebruiken?
.pyc; Python 3.5 en later maken geen .pyo-bestanden aan, maar kunnen ze nog wel uitvoeren.