Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでバイトコードファイルを生成する方法


すべてのPythonプログラムは、ソースコードを自動的にコンパイルして、バイトコードとも呼ばれるコードをコンパイルしてから実行します。

モジュールを初めてインポートするとき、またはソースファイルが新しいファイルであるとき、または更新されたファイルがあるときはいつでも、最近コンパイルされたファイルは、.pyファイルと同じディレクトリにファイルをコンパイルするときに.pycファイルが作成されます。 (python 3-から、.pycファイルが.pyファイルと同じディレクトリではなく__pycache__というサブディレクトリにあることがわかります)。これは、次回プログラムを実行するときにPythonがコンパイル手順をスキップするのを防ぐため、時間の節約になるメカニズムです。

インポート(別のファイル)を使用してスクリプトを実行している場合、.pycファイルは作成されません。たとえば、別のファイル(file2.py)をインポートするscript(file1.py)がある場合。

PYCファイルを作成する最も簡単な方法は、それをインポートすることです。モジュール名がMainP.pyであると仮定します。ただ-

>>> import MainP
>>>

ただし、インポートされていないモジュールの.pycファイルを作成する場合は、py_compileというモジュールのセットを作成し、そのタスクを実行するためにすべてのモジュールをコンパイルする必要があります。

py_compileモジュールは、任意のモジュールを手動でコンパイルできます。 py_compileを使用して、py_compileモジュールをインタラクティブに作成することもできます。コンパイル関数。

>>> import py_compile
>>> py_compile.compile('test.py')
'__pycache__\\test.cpython-36.pyc'
>>>

上記のステートメントをPythonシェルで実行すると、.pycファイルが__pycache__フォルダー(python 3)に作成され、それ以外の場合はtest.pyファイルと同じ場所に作成されることがわかります。

Pythonでバイトコードファイルを生成する方法

一度に複数のファイルをコンパイルする場合は、次のようにpy_compile.main()関数を使用できます-

>>> #Compiles several files at a time
>>> py_compile.main(['test1.py', 'test2.py', 'test_sample1.py', 'test_sample2.py'])
0
>

4つの異なるコンパイル済みファイルが生成されていることがわかります-

Pythonでバイトコードファイルを生成する方法

ただし、フォルダ内のすべてのファイルをコンパイルする場合は、compileall.compile_dir()関数を使用できます。

>>> # Compile all the .py file from a particular folder.
>>> import compileall
>>> compileall.compile_dir('gmplot')
Listing 'gmplot'...
Listing 'gmplot\\.git'...
Listing 'gmplot\\.git\\hooks'...
Listing 'gmplot\\.git\\info'...
Listing 'gmplot\\.git\\logs'...
Listing 'gmplot\\.git\\logs\\refs'...
Listing 'gmplot\\.git\\logs\\refs\\heads'...
Listing 'gmplot\\.git\\logs\\refs\\remotes'...
Listing 'gmplot\\.git\\logs\\refs\\remotes\\origin'...
Listing 'gmplot\\.git\\objects'...
Listing 'gmplot\\.git\\objects\\info'...
Listing 'gmplot\\.git\\objects\\pack'...
Listing 'gmplot\\.git\\refs'...
Listing 'gmplot\\.git\\refs\\heads'...
Listing 'gmplot\\.git\\refs\\remotes'...
Listing 'gmplot\\.git\\refs\\remotes\\origin'...
Listing 'gmplot\\.git\\refs\\tags'...
Compiling 'gmplot\\__init__.py'...
Compiling 'gmplot\\color_dicts.py'...
Listing 'gmplot\\gmplot'...
Listing 'gmplot\\gmplot\\markers'...
Compiling 'gmplot\\gmplot.py'...
Compiling 'gmplot\\google_maps_templates.py'...
Compiling 'gmplot\\setup.py'...
Listing 'gmplot\\tests'...
True

これで、.pycファイルが「folder_name \__pycache__」の場所に作成されていることがわかります。

Pythonでバイトコードファイルを生成する方法

1つまたは複数のディレクトリ内のすべてのファイルをコンパイルする場合は、コンパイル機能を使用してコンパイルできます。

C:\Users\rajesh>python -m compileall
Skipping current directory
Listing 'C:\\Python\\Python361\\python36.zip'...
Can't list 'C:\\Python\\Python361\\python36.zip'
Listing 'C:\\Python\\Python361\\DLLs'...
Listing 'C:\\Python\\Python361\\lib'...
Listing 'C:\\Python\\Python361'...
Compiling 'C:\\Python\\Python361\\BeautifulSoup_script1.py'...
Compiling 'C:\\Python\\Python361\\EDA_python1.py'...
Compiling 'C:\\Python\\Python361\\MainP.py'...
Compiling 'C:\\Python\\Python361\\NegativeAgeException.py'...
Compiling 'C:\\Python\\Python361\\NegativeNumberException.py'...
Compiling 'C:\\Python\\Python361\\OtherP.py'...
Compiling 'C:\\Python\\Python361\\__init__ Constructor.py'...
Compiling 'C:\\Python\\Python361\\attribute_access.py'...
…..
…
Compiling 'C:\\Python\\Python361\\variable_arguments_list.py'...
Compiling 'C:\\Python\\Python361\\variable_arguments_list1.py'...
Compiling 'C:\\Python\\Python361\\winquality1.py'...

__pycache__ディレクトリ内のすべてのファイルに対して.pycファイルが作成されていることがわかります。

Pythonでバイトコードファイルを生成する方法


  1. Python pyqrcodeモジュールを使用してQRコードを生成しますか?

    QRコードは、白い背景に正方形のグリッドに配置された黒い正方形で構成されており、カメラなどのイメージングデバイスで読み取ることができます。多くの商用追跡アプリケーションや、携帯電話ユーザー向けのさまざまなアプリケーションの支払いやWebサイトログインなどに広く使用されています。 pyqrcodeモジュールは、Pythonでqrcocodeを生成するために使用されます。データを効率的に保存するために、4つの標準化されたエンコードモード(数値、英数字、バイト/バイナリ、および漢字)があります。 英数字のqrcode pyqrcodeモジュールを使用します。 qrcodeを生成するために使用される

  2. Google ColaboratoryでPythonコードを実行するにはどうすればよいですか?

    Google Colaboratoryは、セットアップを必要とせず、完全にクラウドで実行される無料のJupyterノートブック環境です。これはGoogleクラウドでホストされ、クラウド環境を使用してPythonスクリプトを実行およびテストしたいPythonコーダーの利益のためにGoogleによって維持されます。この記事では、Googleのコラボレーティブクラウド環境をセットアップして実行する方法を説明します。 Pythonノートブックを開く このグーグルリンク(https://colab.research.google.com/)に移動します。下の画面が開きます。下の図に示すように、右下隅か