Файл с расширением .pyo представляет собой скомпилированную версию исходного кода Python (.py). Такие файлы создаются при запуске интерпретатора Python с флагами оптимизации -O или -OO. Эти флаги указывают интерпретатору выполнять определенные оптимизации во время компиляции, например, удаление операторов assert и строк документации (docstrings) при использовании флага -OO. Результирующий файл .pyo содержит байт-код — низкоуровневое представление кода, которое может быть выполнено виртуальной машиной Python (PVM). Использование файлов .pyo потенциально может ускорить запуск программ на Python, так как этап компиляции уже пройден, однако в современных реализациях Python прирост производительности зачастую незначителен. Файлы .pyo привязаны к конкретной версии Python, использованной для их компиляции, и не предназначены для чтения человеком. Обычно они используются вместе с файлами .pyc (создаваемыми без оптимизации) для распространения скомпилированного кода. Важно отметить, что начиная с Python 3.5 и более поздних версий, файлы .pyo были заменены на файлы .pyc, которые хранятся в директории __pycache__, а уровень оптимизации теперь указывается непосредственно в имени файла .pyc (например, .opt-1.pyc).