Warum PYC in PYO konvertieren?
.pyo war der optimierte Bytecode von Python, fast identisch mit .pyc, aber mit entfernten assert-Anweisungen und optional entfernten Docstrings. Python 3.5 hat die Optimierungsstufe in den .pyc-Dateinamen integriert, wodurch .pyo redundant wurde und vollständig entfernt wurde. Keine Python-Version seit 3.5 liest oder schreibt .pyo-Dateien, daher hat ein PYC-zu-PYO-Konverter keinen legitimen Zweck.
Über diese Formate
Eine .pyc-Datei ist kompilierter Python-Bytecode, den CPython automatisch zwischenspeichert, um den Start zu beschleunigen. Normalerweise müssen Sie sie nicht öffnen oder anfassen. Zum…
.PYC-Details öffnen →Eine .pyo-Datei ist ein veralteter Python-Cache für optimierten Bytecode, der durch Ausführen von Python mit dem Flag -O oder -OO erzeugt wurde. Das Binärformat ist identisch mit einer…
.PYO-Details öffnen →Qualität & worauf zu achten ist
- Um optimierten Bytecode in Python 3.5+ zu erzeugen, führen Sie
python -O -m compileall yourscript.pyaus; das Ergebnis ist eine.pyc-Datei mitopt-1im Namen im Ordner__pycache__. - Wenn Sie eine
.pyo-Datei aus einem Python 2- oder frühen Python 3-Projekt haben, können Sie diese in.pycumbenennen und mit der passenden Python-Version ausführen - der Interpreter lädt sie, wenn die Magic Number übereinstimmt. pyound.pycwaren schon vor der Entfernung funktionell fast identisch, was genau der Grund war, warum die separate Endung in Python 3.5 abgeschafft wurde.
Häufig gestellte Fragen
Ist .pyo das Gleiche wie .pyc?
assert-Anweisungen, weshalb die separate Endung in Python 3.5 entfernt wurde.Ich habe eine .pyo-Datei aus einem alten Projekt. Kann ich sie noch verwenden?
.pyc umbenennen; Python 3.5 und neuer erstellen keine .pyo-Dateien, können diese aber oft noch ausführen.