Wenn ich eine Python-Datei kompiliere, erhalte ich eine * .pyc-Datei. Wenn ich versuche, das auszuführen, erhalte ich eine Meldung, dass es kein Programm gibt, mit dem ich sie ausführen kann. Wenn ich über diese Option online nach einem Programm suche, heißt es, dass es keine gibt. Kann mir jemand helfen, dort Dateien auszuführen?
18
Um kompilierte .pyc-Python3-Dateien zu dekompilieren, habe ich
uncompyle6
in meinem aktuellen Ubuntu-Betriebssystem Folgendes verwendet:Installation von uncompyle6:
So erstellen Sie eine .py-Datei aus einer .pyc-Datei:
Automatisch wird eine neue .py-Datei mit demselben vorhandenen .pyc-Dateinamen erstellt.
quelle
Python kompiliert die .py-Dateien und speichert sie als .pyc-Dateien, damit sie in nachfolgenden Aufrufen referenziert werden können. Die .pyc-Datei enthält den kompilierten Bytecode der Python-Quelldateien, in die der Python-Interpreter die Quelle kompiliert. Dieser Code wird dann von der virtuellen Maschine von Python ausgeführt. Es schadet nicht, sie zu löschen (.pyc), aber sie sparen Kompilierungszeit, wenn Sie viel verarbeiten.
Python ist eine interpretierte Sprache im Gegensatz zu einer kompilierten, obwohl die Unterscheidung aufgrund des vorhandenen Bytecode-Compilers verschwommen sein kann. Kompilieren bedeutet normalerweise, in Maschinencode zu konvertieren, der am schnellsten ausgeführt wird. Aber Dolmetscher nehmen für Menschen lesbaren Text und führen ihn aus. Sie können dies mit einer Zwischenstufe tun.
Wenn Sie beispielsweise die Quelldatei myprog.py ausführen, prüft der Python-Interpreter zunächst, ob eine
myprog.pyc
vorhanden ist (dies ist die mit Bytecode kompilierte Version vonmyprog.py
) und ob diese aktueller oder neuer ist alsmyprog.py
. In diesem Fall wird es vom Interpreter ausgeführt. Wenn es nicht existiert odermyprog.py
aktueller ist (dh Sie haben die Quelldatei geändert), kompiliert der Interpreter zuerstmyprog.py
nachmyprog.pyc
.Es gibt eine Ausnahme zu dem obigen Beispiel. Wenn Sie
#! /usr/bin/env python
die erste Zeile von setzenmyprog.py
, machen Sie es ausführbar und führen es dannmyprog.py
von selbst aus.quelle
pyc
Dateien existieren, aber Sie haben die Frage, wie sie ausgeführt werden sollen, nicht beantwortet. Es kann als sehr ausführlicher Kommentar und nicht als Antwort gewertet werden . Bitte bearbeiten Sie Ihren Beitrag, um eine tatsächliche Antwort hinzuzufügen.