Eine .pyo-Datei ist eine kompilierte Version einer Python-Quellcodedatei (.py). Sie wird erstellt, wenn Python mit den Optimierungs-Flags -O oder -OO ausgeführt wird. Diese Flags weisen den Python-Interpreter an, während der Kompilierung bestimmte Optimierungen durchzuführen. Dazu gehört beispielsweise das Entfernen von assert-Anweisungen und Docstrings (bei Verwendung des Flags -OO). Die resultierende .pyo-Datei enthält Bytecode, eine Darstellung des Python-Codes auf niedrigerer Ebene, die von der Python Virtual Machine (PVM) ausgeführt werden kann. Die Verwendung von .pyo-Dateien kann potenziell die Startzeit von Python-Programmen verbessern, da der Kompilierungsschritt bereits abgeschlossen ist. Die Leistungssteigerungen sind jedoch in modernen Python-Implementierungen oft vernachlässigbar. .pyo-Dateien sind spezifisch für die Python-Version, mit der sie kompiliert wurden, und sie sind nicht menschenlesbar. Sie wurden typischerweise in Verbindung mit .pyc-Dateien (die ohne Optimierung erstellt werden) verwendet, um kompilierten Python-Code zu verteilen. Es ist zu beachten, dass ab Python 3.5 und späteren Versionen .pyo-Dateien durch .pyc-Dateien ersetzt wurden, die im Verzeichnis __pycache__ gespeichert sind. Der Optimierungsgrad wird dabei im Namen der .pyc-Datei selbst angegeben (z. B. .opt-1.pyc).