Konverze pyc do py

Převod souboru PYC do PY

Vysvětluje, proč jsou soubory .pyc obtížně obnovitelné a které nástroje mohou pomoci

Jak převést soubor pyc do formátu py

Co jsou soubory .pyc a .py

.py soubory jsou zdrojové soubory Pythonu, které čtete, upravujete a spouštíte. .pyc soubory jsou zkompilované soubory Python bytecode, které Python umí spouštět rychleji poté, co byl zdroj zkompilován.

Lze soubor .pyc převést zpět na .py?

Ne dokonale. Soubor .pyc neobsahuje plný původní zdrojový kód. Ve mnoha případech jej lze dekompilovat do podobného kódu v Pythonu, ale výsledek se může lišit od originálu a nemusí být plně čitelný ani spustitelný bez oprav.

Co se ztrácí v souborech .pyc

Když Python kompiluje zdrojový kód, uchovává bytecode a některá metadata, ale nezachovává komentáře, původní formátování a často ani všechny názvy proměnných nebo strukturální detaily přesně tak, jak jsou zapsané ve zdrojovém kódu.

Kdy může dekompilace fungovat

Dekompilátory někdy dokážou z .pyc souborů vytvořených podporovanými verzemi Pythonu získat kód zpět. Úspěch závisí na verzi Pythonu, integritě souboru a na tom, zda byl bytecode zatemněn (obfuscated) nebo upraven.

Nástroje, které můžete zkusit

Pro kontrolu nebo obnovu se běžně používají nástroje jako uncompyle6 a decompyle3. Použijte nástroj, který podporuje verzi Pythonu, jež vytvořila soubor .pyc. Novější verze bytecode nemusí být podporovány staršími dekompilátory.

Příklad příkazu

Chcete-li zkusit dekompilovat soubor pomocí podporovaného nástroje, spusťte:

uncompyle6 example.pyc > example.py

Poté výstup pečlivě zkontrolujte a otestujte, protože dekompilovaný kód může vyžadovat ruční opravy.

Důležitá omezení

Soubory .pyc nejsou spolehlivou zálohou zdrojového kódu. Jsou určené ke spouštění, ne k obnově zdroje. Pokud byl soubor vygenerován jinou verzí Pythonu, je poškozený nebo byl chráněn/zatemněn, dekompilace může selhat nebo vrátit nesprávné výsledky.

Nejlepší způsob, jak získat zdroj zpět

Pokud potřebujete původní kód, hledejte .py soubor v systému pro správu verzí, v zálohách, v archivu nasazení nebo u původního vývojáře. Pokud žádný zdroj neexistuje, dekompilace je pouze metoda obnovy na poslední chvíli.

PYC vs PY: srovnání formátů

Jak si formáty PYC a PY stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů PYC a PY
Vlastnost .PYC Python compiled bytecode .PY Python source file
Čitelný jako prostý text Ne Ano
Formátování textu Žádné Základní
Obrázky Ne Ne
Další úpravy Nelze přímo upravovat Snadné
Otevírá se ve webovém prohlížeči Ne Ne
Typická velikost souboru Velmi malé Malé
Otevřený standard Ano Ano
Nejvhodnější pro Vkládání do aplikací Úpravy a postprodukce
Zavedeno 1991 1991
Vývojář Python Software Foundation Python Software Foundation
MIME typ text/x-python

Reverzní konverze

Konverze do .py
z jiných formátů

Sdílejte na sociálních sítích: