Зачем конвертировать PYC в PYO?
.pyo был оптимизированным байт-кодом Python, почти идентичным .pyc, но с удаленными инструкциями assert и, опционально, вырезанными строками документации (docstrings). В Python 3.5 уровень оптимизации был включен в имя файла .pyc, что сделало .pyo избыточным и привело к его полному удалению. Ни одна версия Python, начиная с 3.5, не читает и не записывает файлы .pyo, поэтому конвертер PYC-в-PYO не имеет практического смысла.
Об этих форматах
Файл .pyc - это скомпилированный байт-код Python, который CPython кэширует автоматически для ускорения запуска. Обычно вам не нужно открывать или редактировать его. Чтобы запустить такой…
Открыть детали .PYC →Файл .pyo - это устаревший кэш оптимизированного байт-кода Python, создаваемый при запуске Python с флагом -O или -OO. Бинарный формат идентичен файлу .pyc. В Python 3.5 расширение .pyo…
Открыть детали .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 из старого проекта. Могу ли я его использовать?
.pyc; Python 3.5 и более поздние версии не создают файлы .pyo, но все еще могут их исполнять.