Como faço para gerar um arquivo de bytecode em Python?

| | | | |

O bytecode é carregado em tempo de execução em Python e interpretado pela máquina virtual, que é um pedaço de código que lê cada instrução no bytecode e executa qualquer operação especificada.

O bytecode é gerado automaticamente no volume no mesmo diretório que o arquivo .py quando o módulo python for importado pela primeira vez, ou quando a fonte for posterior ao arquivo compilado atualmente. Na próxima vez que o programa for executado, o interpretador Python usará esse arquivo para pular a etapa de compilação.

Executar o script não é considerado uma importação e nenhum arquivo .pyc será gerado. Por exemplo, vamos escrever um arquivo de script abc.py, que importe outro módulo xyz.py. Agora execute o arquivo abc.py , xyz .pyc será gerado porque xyz é importado, mas abc.pyc não será ser gerado porque abc.py não é importado.

Mas existem módulos e comandos internos py_compile e compileall que facilitam a criação de um arquivo pyc.

  1. Usando o py_compile.compile : O módulo py_compile pode compilar manualmente qualquer módulo. Uma maneira é usar interativamente a função py_compile.compile neste módulo:
    > > > importar py_compile > > > py_compile.compile (`abc.py`) 

    Isso gravará .pyc no mesmo local que abc.py.

  2. Usando py_compile. main() : compila vários arquivos ao mesmo tempo.
    > > > importar py_compile > > > py_compile.main ([`File1.py`,` File2.py`, `File3.py`]) 
  3. Usando a função compileall.compile_dir() : compila todos os arquivos python presentes no diretório fornecido.
    > > > importar compilar tudo > > > compileall.compile_dir (directoryname) 
  4. Usando py_compile no terminal:
    $ python -m py_compile Arquivo1.py Arquivo2.py Arquivo3.py ... 

    Ou para compilar arquivos interativamente

    $ python -m py_compile - Arquivo1.py Arquivo2.py Arquivo3.py. ... ... 
  5. Usando compileall em um terminal: Este comando navegará recursivamente automaticamente para subdiretórios e criará arquivos .pyc para todos os arquivos python que encontrar.
    $ python -m compileall 

Observação . O módulo compileall e py_compile faz parte da biblioteca padrão python, então você não precisa instalar nada extra para usá-lo.

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

Este artigo é cortesia de Shubham Bansal . Se você é Python.Engineering e gostaria de contribuir, você também pode escrever um artigo usando contribute.python.engineering ou postando um artigo contribua @ python.engineering. Veja seu artigo na página inicial do Python.Engineering e ajude outros geeks.

Como faço para gerar um arquivo de bytecode em Python? _files: Questions

Como faço para gerar um arquivo de bytecode em 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