Hvorfor konvertere PYC til PYO?
.pyo var Pythons optimaliserte bytekode, nesten identisk med .pyc, men med assert-setninger fjernet og valgfritt fjernede docstrings. Python 3.5 inkluderte optimaliseringsnivået i .pyc-filnavnet, noe som gjorde .pyo overflødig og fjernet det helt. Ingen Python-versjon siden 3.5 leser eller skriver .pyo-filer, så en PYC-til-PYO-konverter har ingen legitim hensikt.
Om disse formatene
En .pyc-fil er kompilert Python-bytecode som CPython bufrer automatisk for å øke hastigheten på oppstarten. Du trenger vanligvis ikke å åpne eller røre den. For å kjøre en, bruk den…
Åpne .PYC-detaljer →En .pyo-fil er en utdatert (legacy) Python-optimalisert bytekode-cache generert ved å kjøre Python med flagget -O eller -OO. Det binære formatet er identisk med en .pyc-fil. Python 3.5…
Åpne .PYO-detaljer →Kvalitet og hva du bør passe på
- For å produsere optimalisert bytekode i Python 3.5+, kjør
python -O -m compileall yourscript.py; resultatet er en.pyc-fil navngitt medopt-1i mappen__pycache__. - Hvis du har en
.pyo-fil fra et Python 2- eller tidlig Python 3-prosjekt, kan du gi den nytt navn til.pycog kjøre den med den samsvarende Python-versjonen - tolkeren vil laste den hvis det magiske tallet stemmer. pyoog.pycvar funksjonelt nesten identiske selv før fjerningen, noe som er nøyaktig grunnen til at den separate filendelsen ble eliminert i Python 3.5.
Ofte stilte spørsmål
Er .pyo det samme som .pyc?
assert-setninger, som er grunnen til at den separate filendelsen ble fjernet i Python 3.5.Jeg har en .pyo-fil fra et gammelt prosjekt. Kan jeg fortsatt bruke den?
.pyc; Python 3.5 og nyere oppretter ikke .pyo-filer, men kan fortsatt utføre dem.