¿Cómo genero un archivo de bytecode en Python?

| | | | |

El código de bytes se carga en tiempo de ejecución en Python y lo interpreta la máquina virtual, que es un fragmento de código que lee cada instrucción en el código de bytes y realiza cualquier operación especificada.

El código de bytes se genera automáticamente en el volumen el mismo directorio que el archivo .py cuando el módulo python se importa por primera vez, o cuando la fuente es posterior al archivo compilado actualmente. La próxima vez que se ejecute el programa, el intérprete de Python usará este archivo para omitir el paso de compilación.

Ejecutar el script no se considera una importación y no se incluirá ningún archivo .pyc. generado. Por ejemplo, escribamos un archivo de script abc.py, que importe otro módulo xyz.py. Ahora ejecute el archivo abc.py , se generará xyz .pyc porque se importa xyz, pero abc.pyc no generarse porque abc.py no se importa.

Pero hay módulos integrados y comandos py_compile y compileall que facilitan la creación de un archivo pyc.

  1. Uso de py_compile.compile: El módulo py_compile puede compilar manualmente cualquier módulo. Una forma es utilizar de forma interactiva la función py_compile.compile en este módulo:
    > > > importar py_compile > > > py_compile.compile (`abc.py`) 

    Esto escribirá .pyc en la misma ubicación que abc.py.

  2. Usando py_compile. main () : compila varios archivos al mismo tiempo.
    > > > importar py_compile > > > py_compile.main ([`File1.py`,` File2.py`, `File3.py`]) 
  3. Uso de la función compileall.compile_dir() : compila todos los archivos de python presentes en el directorio proporcionado.
    > > > importar compilar todo > > > compileall.compile_dir (nombre del directorio) 
  4. Utilizando py_compile en la terminal:
    $ python -m py_compile File1.py File2.py File3.py ... 

    O para compilar archivos de forma interactiva

    $ python -m py_compile - File1.py File2.py File3.py. ... ... 
  5. Uso de compileall en una terminal: este comando navegará automáticamente de forma recursiva a los subdirectorios y creará archivos .pyc para todos los archivos de python que encuentre.
    $ python -m compileall 

Nota . El módulo compileall y py_compile es parte de la biblioteca estándar de python, por lo que no necesita instalar nada adicional para usarlo.

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

Este artículo es cortesía de Shubham Bansal . Si es Python.Engineering y le gustaría contribuir, también puede escribir un artículo usando contribuya.python.engineering o publicando un artículo contribuir @ python.engineering. Vea su artículo que aparece en la página de inicio de Python.Engineering y ayude a otros geeks.

¿Cómo genero un archivo de bytecode en Python? _files: Questions

¿Cómo genero un archivo de bytecode en 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