Warum PYC in PY konvertieren?
Der Hauptgrund ist die Wiederherstellung des Quellcodes, wenn die ursprüngliche .py-Datei gelöscht oder nie zusammen mit dem Bytecode bereitgestellt wurde. Ein zweiter Anwendungsfall ist die Prüfung von Programmen, die nur als Bytecode verteilt werden. Es handelt sich eher um eine Dekompilierung als um eine saubere Formatkonvertierung - eine .pyc speichert kompilierten Bytecode, und der ursprüngliche Quelltext ist darin nicht enthalten.
Wie man PYC in PY konvertiert
decompyle3 FREE
Installieren Sie es mit pip install decompyle3 und führen Sie decompyle3 yourfile.pyc > recovered.py aus. Unterstützt Python 3.7-3.8.
uncompyle6 FREE
Installieren Sie es mit pip install uncompyle6 und führen Sie uncompyle6 yourfile.pyc > recovered.py aus. Unterstützt Python 2.x bis 3.8.
pycdc OPEN-SOURCE
Laden Sie die Binärdatei von github.com/zrax/pycdc herunter und führen Sie pycdc yourfile.pyc > recovered.py aus. Die beste Option für Python 3.9 und neuer, obwohl die Genauigkeit bei 3.11+ begrenzt ist.
Über diese Formate
Eine .pyc-Datei ist kompilierter Python-Bytecode, den CPython automatisch zwischenspeichert, um den Start zu beschleunigen. Normalerweise müssen Sie sie nicht öffnen oder anfassen. Zum…
.PYC-Details öffnen →Eine .py-Datei ist eine Python-Quellcodedatei - reiner Text mit einem Programm oder Skript, das in der Programmiersprache Python geschrieben wurde. Um den Code zu lesen, öffnen Sie die…
.PY-Details öffnen →Qualität & worauf zu achten ist
- Kommentare sind dauerhaft verloren - Python-Bytecode speichert diese nicht; kein Tool kann sie aus einer
.pycwiederherstellen, unabhängig von der Python-Version. - Die Genauigkeit der Dekompilierung sinkt bei Python 3.9 und höher stark ab; pycdc ist die beste Option für neueren Bytecode, kann aber unvollständige Ergebnisse liefern.
- Falls die
.pycobfuskiert wurde, schlägt die Dekompilierung fehl oder liefert eine leere Ausgabe;python3 -m dis yourfile.pyckann als Notlösung dennoch einzelne Bytecode-Anweisungen anzeigen.
Häufig gestellte Fragen
Woher weiß ich, welche Python-Version die .pyc kompiliert hat?
.pyc-Dateien in __pycache__ nach dem Schema module.cpython-311.pyc benannt - die Zahl gibt die Python-Version an, die sie kompiliert hat.Bleiben Docstrings bei der Dekompilierung erhalten?
Was tun, wenn der Decompiler Fehler oder eine leere Ausgabe erzeugt?
.pyc könnte obfuskiert sein oder von einer nicht unterstützten Python-Version stammen; versuchen Sie ein anderes Tool oder nutzen Sie python3 -m dis, um die einzelnen Bytecode-Anweisungen zu inspizieren.