Un file .pyo è una versione compilata di un file sorgente Python (.py). Viene creato quando Python viene eseguito con i flag di ottimizzazione -O o -OO. Questi flag istruiscono l'interprete Python a eseguire alcune ottimizzazioni durante la compilazione, come la rimozione delle istruzioni assert e delle docstring (con -OO). Il file .pyo risultante contiene bytecode, che è una rappresentazione a livello inferiore del codice Python eseguibile dalla Macchina Virtuale Python (PVM). L'utilizzo di file .pyo può potenzialmente migliorare il tempo di avvio dei programmi Python, poiché la fase di compilazione è già stata completata. Tuttavia, i guadagni in termini di prestazioni sono spesso trascurabili nelle moderne implementazioni di Python. I file .pyo sono specifici per la versione di Python utilizzata per compilarli e non sono leggibili dall'uomo. Sono tipicamente utilizzati in congiunzione con i file .pyc (che sono creati senza ottimizzazione) per distribuire codice Python compilato. Si noti che con Python 3.5 e versioni successive, i file .pyo sono sostituiti dai file .pyc memorizzati nella directory __pycache__, e il livello di ottimizzazione è indicato nel nome del file .pyc (ad esempio, .opt-1.pyc).