.PYO

PYO-fil

Python Optimized Bytecode File (legacy)
Stil et spørgsmål
HURTIGT SVAR

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 .pyo i 2015 (PEP 488), så hvis du ser en i dag, stammer den fra Python 2 eller Python 3.0-3.4. Du kører den fra kommandolinjen med en matchende Python-version, eller dekompilerer den tilbage til .py med decompyle3 eller uncompyle6.

Udvikler: Python Software Foundation (CPython) Kategori: Udviklerfiler Åben standard MIME: application/x-python-code
ÅBNER PÅ Windows macOS Linux Web
Relateret: .DO · .MD · .HEX · .XSD

På denne side

19k+ filtyper indekseret
Sidst gennemset Jun 27, 2026

Er du ikke sikker på, hvad din fil er?

Træk en fil over i vores identifikator - vi læser kun de første bytes for at navngive formatet.

Identificer en fil

Hvad er PYO-filformatet?

En .pyo-fil er en legacy Python-optimeret bytecode-fil produceret af CPython-fortolkeren, når den køres med flaget -O (optimer) eller -OO. Ved at bruge -O fjernes assert-sætninger fra den kompilerede bytecode; ved brug af -OO fjernes desuden alle docstrings, hvilket reducerer filstørrelsen en smule.

Internt er .pyo-filer byte-for-byte identiske i format med .pyc-filer: en 16-byte header (4-byte versionsspecifikt magic number, 4-byte flag-felt, 4-byte tidsstempel eller kilde-hash, 4-byte kildestørrelse) efterfulgt af et marshalled CPython-kodeobjekt. Optimeringsniveauet afspejles kun i det kompilerede indhold - aldrig i filens header.

Filtypen .pyo blev udfaset i Python 3.5 af PEP 488 (september 2015) og genereres ikke længere af nogen nuværende Python-udgivelse. Fra Python 3.5 og frem gemmes optimeret bytecode i __pycache__ med navne som module.cpython-311.opt-1.pyc (for -O) eller .opt-2.pyc (for -OO). Hvis du støder på en .pyo-fil i dag, stammer den fra Python 2 eller Python 3.0-3.4-kode.

.pyo-filer er ikke portable på tværs af CPython-versioner - det magiske nummer ændres ved hver udgivelse. Værktøjer som uncompyle6 (Python 2-3.8) og decompyle3 (Python 3.7-3.11) kan dekompilere .pyo-filer tilbage til omtrentlig .py-kildekode, selvom nøjagtigheden varierer afhængigt af Python-version og kodens kompleksitet.

Sikkerhed og tryghed

RISIKO: MEDIUM

En .pyo-fil eksekveres som Python-bytecode med alle de samme rettigheder som et Python-script - adgang til filsystem, netværk og eksekvering af underprocesser. Kør aldrig en .pyo fra en upålidelig kilde. Antivirussoftware scanner ofte ikke .pyo-indhold. Skadelige Python-apps distribueres nogle gange kun som bytecode (.pyc/.pyo) for at gøre reverse engineering sværere, selvom dekompilatorer i vid udstrækning kan gendanne kildekoden.

Formatdetaljer

kort fortalt
FULDSTÆNDIGT NAVNPython Optimized Bytecode File (legacy)også kendt som Python compiled optimized file, PYO file
UDVIKLERPython Software Foundation (CPython)siden Early CPython (1990s); same as .pyc but with optimizations (assert removal with -O; docstring removal with -OO)
MIME-TYPEapplication/x-python-code
TYPEBinær CPython-bytecode (samme format som .pyc; genereret med flaget -O eller -OO)
STANDARDÅben · royaltyfri

Programmer der åbner PYO-filer

Windows4 apps
Python (run the file) Open-source Kør «python file.pyo» fra kommandoprompten (kun Python 2 / 3.0-3.4). På Python 3.5+ skal du omdøbe til .pyc først eller bruge den matchende Python-version.
decompyle3 (decompile to .py) Open-source pip install decompyle3 og derefter «decompyle3 file.pyo > file.py». Fungerer på Python 3.7-3.8 bytecode.
uncompyle6 (decompile Python 2-3.8) Open-source pip install uncompyle6 og derefter «uncompyle6 file.pyo > file.py». Understøtter Python 2.4-3.8.
VS Code (view bytecode with extension) Open-source Omdøb .pyo til .pyc, og brug derefter udvidelsen «Python Disassembler» eller «Bytecode Viewer» til at inspicere opcodes.
macOS1 app
Python Open-source Kør «python file.pyo» med den matchende Python-version. De fleste Linux-distributioner inkluderer Python.
Linux1 app
Python Open-source Kør «python file.pyo» med den matchende Python-version. De fleste Linux-distributioner inkluderer Python.
Web1 app
Decompiler.com (online decompile) Gratis Upload .pyo-filen; siden dekompilerer Python-bytecode (inklusive .pyo) tilbage til .py i browseren.

Tekniske detaljer

dyb specifikation
FormatforholdByte-for-byte identisk filformat med `.pyc`; adskilles kun af filtypenavnet og optimeringsindholdet
Header-struktur16-byte header: 4-byte versions-magic + 4-byte flag + 4-byte kilde-mtime eller hash + 4-byte kildestørrelse
Body-formatMarshalled CPython-kodeobjekt (bytecode-instruktioner, konstant-pool, navne, variabelnavne, indlejrede kodeobjekter)
Byte-rækkefølgeLittle-endian (CPython marshal-serialiseringsformat)
Optimeringsniveau -OFjerner `assert`-sætninger fra kompileret bytecode
Optimeringsniveau -OOFjerner `assert`-sætninger og alle docstrings fra kompileret bytecode
UdfasningFiltypen `.pyo` blev fjernet i Python 3.5 (PEP 488, september 2015); genereres ikke af nogen nuværende Python-udgivelse
Moderne ækvivalent`module.cpython-3X.opt-1.pyc` (niveau 1) eller `.opt-2.pyc` (niveau 2) gemt i `__pycache__`
VersionsportabilitetIkke portabel på tværs af CPython-versioner; det magiske nummer i byte 0-3 ændres ved hver større CPython-udgivelse
IntegritetsvalideringPython 3.7+ (PEP 552): valgfri SipHash af kilde gemt i header-flag; Python 2 / tidlig 3: kun mtime-sammenligning
Dekompileringsværktøjer`uncompyle6` (Python 2-3.8), `decompyle3` (Python 3.7-3.11)
Legacy-omfangProduceret kun af Python 2 eller Python 3.0-3.4; findes ikke i projekter, der målretter Python 3.5 eller nyere
UdgivetEarly CPython (1990s); same as .pyc but with optimizations (assert removal with -O; docstring removal with -OO)
Seneste versionDEPRECATED in Python 3.5 (PEP 488, September 2015) - .pyo extension no longer generated; replaced by .cpython-3X.opt-1.pyc / .opt-2.pyc naming
Åben standardJa · royaltyfri
Specifikationpeps.python.org

PYO-konverteringer

Fællesskabets Q&A

spurgt af brugere
Stil et hurtigt spørgsmål
Få hjælp fra folk, der arbejder med PYO-filer. Vær specifik - medtag dit system og din softwareversion.
Ingen konto nødvendig · svar normalt inden for en dag

Ingen spørgsmål endnu - vær den første til at spørge om PYO-filer.

Ofte stillede spørgsmål

Hvad er en .pyo-fil?
En legacy Python-optimeret bytecode-fil - den kompilerede form af et .py-script oprettet med Pythons -O eller -OO optimeringsflag. Identisk binært format som .pyc; genereret af Python 2 og Python 3.0-3.4. Python 3.5+ opretter ikke længere .pyo-filer.
Hvordan åbner jeg en .pyo-fil?
Du åbner den ikke direkte - Python kører den automatisk. For at læse dens indhold skal du bruge decompyle3 eller uncompyle6 til at dekompilere den tilbage til .py-kildekode, eller omdøbe den til .pyc og bruge en bytecode-disassembler.
Kan jeg slette .pyo-filer?
Ja - .pyo-filer er bytecode-caches. Python genopretter dem efter behov. Sletning af dem ødelægger ikke en fungerende Python-installation eller app (forudsat at .py-kildekundefilerne er til stede).
Hvad er forskellen på .pyo og .pyc?
.pyo blev kompileret med -O (asserts fjernet) eller -OO (docstrings også fjernet); .pyc blev kompileret uden optimering. Det binære format er identisk. Python 3.5+ flettede dem sammen til .opt-1.pyc / .opt-2.pyc.
Hvorfor opretter Python 3.5+ ikke .pyo-filer?
PEP 488 (2015) eliminerede .pyo, fordi det var forvirrende at have to filtyper til det samme binære format. Optimeringsniveauet er nu kodet i .pyc-filnavnets suffiks (.opt-1.pyc, .opt-2.pyc).
Hvordan dekompilerer jeg en .pyo for at få Python-kildekoden?
Brug decompyle3 (Python 3.7-3.8) eller uncompyle6 (Python 2-3.8): «pip install decompyle3 && decompyle3 file.pyo». Eller upload til decompiler.com for en webbaseret løsning. Resultaterne kan være ufuldstændige, især for -OO kompilerede filer, der mangler docstrings.

Referencer

1PEP 488 - Elimination of PYO filespeps.python.org
2Python Docs - compileall moduledocs.python.org

Udforsk mere

på tværs af databasen

Populære filtyper i denne uge

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.MDMarkdown Document
4.RPMSGRestricted Permission Message
5.CRDOWNLOADChrome Partial Download File
6.PARTPartial Download File
7.NOMEDIAAndroid No-Media Marker File
8.EXEWindows Executable (Portable Executable)
9.DBSQLite Database File
10.PKPASSApple Wallet Pass (formerly Passbook)

Relaterede filtyper

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Gratis filværktøjer

En fil-identifikator og billedkonverter direkte i browseren - alt kører på din enhed.

Åbn værktøjskassen

Gennemse filtyper A-Å