Dlaczego konwertować PYC na PYO?
.pyo był zoptymalizowanym kodem bajtowym Pythona, niemal identycznym z .pyc, ale z usuniętymi instrukcjami assert i opcjonalnie wyciętymi ciągami dokumentacji (docstrings). Python 3.5 włączył poziom optymalizacji do nazwy pliku .pyc, czyniąc .pyo zbędnym i całkowicie go usuwając. Żadna wersja Pythona od 3.5 nie odczytuje ani nie zapisuje plików .pyo, więc konwerter PYC na PYO nie ma uzasadnionego celu.
O tych formatach
Plik .pyc to skompilowany kod bajtowy Python, który CPython automatycznie buforuje, aby przyspieszyć uruchamianie. Zazwyczaj nie trzeba go otwierać ani modyfikować. Aby go uruchomić, użyj…
Otwórz szczegóły .PYC →Plik .pyo to przestarzały plik pamięci podręcznej zoptymalizowanego bajtkodu Python, generowany przez uruchomienie Python z flagą -O lub -OO. Format binarny jest identyczny z plikiem .pyc.…
Otwórz szczegóły .PYO →Jakość i na co uważać
- Aby wygenerować zoptymalizowany kod bajtowy w Python 3.5+, uruchom
python -O -m compileall yourscript.py; wynikiem będzie plik.pyczopt-1w nazwie w folderze__pycache__. - Jeśli posiadasz plik
.pyoz projektu w Python 2 lub wczesnym Python 3, możesz zmienić jego nazwę na.pyci uruchomić go za pomocą pasującej wersji Pythona - interpreter załaduje go, jeśli „magic number” się zgadza. - Pliki
pyoi.pycbyły funkcjonalnie niemal identyczne nawet przed usunięciem, co jest dokładnie powodem, dla którego oddzielne rozszerzenie zostało wyeliminowane w Python 3.5.
Najczęściej zadawane pytania
Czy .pyo to to samo co .pyc?
assert, dlatego oddzielne rozszerzenie zostało usunięte w Python 3.5.Mam plik .pyo ze starego projektu. Czy nadal mogę go używać?
.pyc; Python 3.5 i nowsze nie tworzą plików .pyo, ale nadal mogą je wykonywać.