Wie erzeuge ich eine Bytecode-Datei in Python?

| | | | |

Bytecode wird zur Laufzeit in Python geladen und von der virtuellen Maschine interpretiert, bei der es sich um ein Stück Code handelt, das jede Anweisung im Bytecode liest und alle angegebenen Operationen ausführt.

Der Bytecode wird automatisch in generiert volume dasselbe Verzeichnis wie die .py-Datei, wenn das Python-Modul zum ersten Mal importiert wird oder wenn die Quelle später als die aktuell kompilierte Datei ist. Wenn das Programm das nächste Mal ausgeführt wird, verwendet der Python-Interpreter diese Datei, um den Kompilierungsschritt zu überspringen.

Das Ausführen des Skripts wird nicht als Import angesehen, und es wird keine .pyc-Datei geben generiert. Lassen Sie uns beispielsweise eine Skriptdatei abc.py, schreiben, die ein anderes Modul xyz.py importiert. Führen Sie nun die Datei abc.py aus, xyz .pyc wird generiert, da xyz importiert wird, abc.pyc jedoch nicht generiert werden, weil abc.py nicht importiert wird.

Aber es gibt eingebaute Module und Befehle py_compile und compileall die es einfacher machen, eine Pyc-Datei zu erstellen.

  1. Verwendung von py_compile.compile: Das Modul py_compile kann jedes Modul manuell kompilieren. Eine Möglichkeit besteht darin, die Funktion py_compile.compile in diesem Modul interaktiv zu verwenden:
    > > > py_compile importieren > > > py_compile.compile (`abc.py`) 

    Dies schreibt .pyc an denselben Ort wie abc.py.

  2. Verwendung von py_compile. main () : Kompiliert mehrere Dateien gleichzeitig.
    > > > py_compile importieren > > > py_compile.main ([`File1.py`,` File2.py`, `File3.py`]) 
  3. Mit der Funktion compileall.compile_dir () : kompiliert jede Python-Datei, die im angegebenen Verzeichnis vorhanden ist.
    > > > Compiler importieren > > > compileall.compile_dir (Verzeichnisname) 
  4. Mit py_compile im Terminal:
    $ python -m py_compile File1.py File2.py File3.py ... 

    Oder um Dateien interaktiv zu kompilieren

    $ python -m py_compile - File1.py File2.py File3.py. ... ... 
  5. Verwenden von compileall in einem Terminal: Dieser Befehl navigiert automatisch rekursiv zu Unterverzeichnissen und erstellt .pyc-Dateien für alle gefundenen Python-Dateien.
    $ python -m compileall 

Hinweis . Die Module compileall und py_compile sind Teil der Python-Standardbibliothek, sodass Sie nichts extra installieren müssen, um sie zu verwenden.

Links:
1. https://docs.python.org/3/library/py_compile .html
2. https://docs.python.org/2/library/compileall .html
3. Effbot

Dieser Artikel mit freundlicher Genehmigung von Shubham Bansal . Wenn Sie Python.Engineering sind und einen Beitrag leisten möchten, können Sie auch einen Artikel schreiben, indem Sie Contribute.python.engineering verwenden oder einen Artikel posten Beitrag @ python.engineering. Sehen Sie, wie Ihr Artikel auf der Python.Engineering-Startseite erscheint, und helfen Sie anderen Geeks.

Wie erzeuge ich eine Bytecode-Datei in Python? _files: Questions

Wie erzeuge ich eine Bytecode-Datei in Python? File handling: Questions

Shop

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method