Hvorfor konvertere PYC til PYO?
.pyo var Pythons optimerede bytecode, næsten identisk med .pyc, men med assert-sætninger fjernet og valgfrit fjernede docstrings. Python 3.5 indlejrede optimeringsniveauet i .pyc-filnavnet, hvilket gjorde .pyo overflødig og fjernede den helt. Ingen Python-version siden 3.5 læser eller skriver .pyo-filer, så en PYC-til-PYO-konverter har intet legitimt formål.
Om disse formater
En .pyc-fil er kompileret Python bytecode, som CPython gemmer automatisk for at fremskynde opstart. Du behøver normalt ikke at åbne eller røre den. For at køre en skal du bruge den…
Åbn .PYC detaljer →En .pyo-fil er en legacy Python-optimeret bytecode-cache genereret ved at køre Python med flaget -O eller -OO. Det binære format er identisk med en .pyc-fil. Python 3.5 eliminerede filtypen…
Åbn .PYO detaljer →Kvalitet & hvad man skal være opmærksom på
- For at producere optimeret bytecode i Python 3.5+, kør
python -O -m compileall yourscript.py; resultatet er en.pyc-fil navngivet medopt-1i mappen__pycache__. - Hvis du har en
.pyo-fil fra et Python 2 eller tidligt Python 3-projekt, kan du omdøbe den til.pycog køre den med den matchende Python-version - fortolkeren vil indlæse den, hvis det magiske nummer matcher. pyoog.pycvar funktionelt næsten identiske selv før fjernelsen, hvilket er præcis grunden til, at den separate filtype blev elimineret i Python 3.5.
Ofte stillede spørgsmål
Er .pyo det samme som .pyc?
assert-sætninger, hvilket er grunden til, at den separate filtype blev fjernet i Python 3.5.Jeg har en .pyo-fil fra et gammelt projekt. Kan jeg stadig bruge den?
.pyc; Python 3.5 og nyere opretter ikke .pyo-filer, men kan stadig eksekvere dem.