PYC PYO
Невозможно

Конвертировать PYC в PYO

Можно ли конвертировать PYC в PYO?
БЫСТРЫЙ ОТВЕТ
Возможно ли конвертировать PYC в PYO?
Нет - нет прямой конвертации.

Расширение .pyo было удалено в Python 3.5 (PEP 488); с тех пор оптимизированный байт-код сохраняется в виде файла .pyc с суффиксом opt-1 или opt-2 в имени файла. Ни один конвертер не создает файлы .pyo, так как этот формат больше не существует.

Нет прямого пути

На этой странице

Протестировано на macOS, Windows и Linux
Последняя проверка: Sep 2026

Больше бесплатных конвертеров

HEIC, PNG, WEBP, MP3 и другие - все инструменты здесь бесплатны.

Открыть инструменты

Зачем конвертировать PYC в PYO?

.pyo был оптимизированным байт-кодом Python, почти идентичным .pyc, но с удаленными инструкциями assert и, опционально, вырезанными строками документации (docstrings). В Python 3.5 уровень оптимизации был включен в имя файла .pyc, что сделало .pyo избыточным и привело к его полному удалению. Ни одна версия Python, начиная с 3.5, не читает и не записывает файлы .pyo, поэтому конвертер PYC-в-PYO не имеет практического смысла.

Об этих форматах

Качество и на что обратить внимание

  • Чтобы создать оптимизированный байт-код в Python 3.5+, запустите python -O -m compileall yourscript.py; результатом будет файл .pyc с пометкой opt-1 в папке __pycache__.
  • Если у вас есть файл .pyo из проекта на Python 2 или ранней версии Python 3, вы можете переименовать его в .pyc и запустить с соответствующей версией Python - интерпретатор загрузит его, если магическое число совпадет.
  • pyo и .pyc были функционально почти идентичны еще до удаления, именно поэтому отдельное расширение было упразднено в Python 3.5.

Часто задаваемые вопросы

Является ли .pyo тем же самым, что и .pyc?
Функционально - да. Единственными отличиями были вырезанные строки документации и отключенные инструкции assert, именно поэтому отдельное расширение было удалено в Python 3.5.
У меня есть файл .pyo из старого проекта. Могу ли я его использовать?
Если у вас есть подходящая версия Python, вы можете запустить его напрямую или переименовать в .pyc; Python 3.5 и более поздние версии не создают файлы .pyo, но все еще могут их исполнять.
Как восстановить исходный код из .pyc или .pyo?
Используйте decompyle3 или uncompyle6 для Python до версии 3.8, или pycdc для Python 3.9 и новее; результаты будут приблизительными, а комментарии будут утеряны.