如何在 Python 中生成字節碼文件?

| | | | |

字節碼在Python運行時被加載並由虛擬機解釋,它是一段代碼,讀取字節碼中的每條指令並執行任何指定的操作。

字節碼在首次導入python模塊時,或者源比當前編譯的文件晚時,卷與.py文件相同的目錄。下次運行程序時,Python 解釋器將使用此文件跳過編譯步驟。

運行腳本不被視為 import ,不會有 .pyc 文件生成。例如,讓我們編寫一個腳本文件 abc.py, 來導入另一個模塊 xyz.py。 現在運行文件abc.py ,會生成xyz .pyc ,因為xyz是導入的,但是abc.pyc 不會是因為沒有導入abc.py

但是有內置的模塊和命令py_compile compileall 這使得創建 pyc 文件更容易。

  1. 使用 py_compile.compile py_compile 模塊可以手動編譯任何模塊。一種方法是交互使用此模塊中的 py_compile.compile 函數:
    > > >導入 py_compile > > > py_compile.compile (`abc.py`) 

    這會將 .pyc 寫入與 abc.py 相同的位置。

  2. 使用 py_compile。 main() :同時編譯多個文件。
    > > >導入 py_compile > > > py_compile.main([`File1.py`,`File2.py`,`File3.py`]) 
  3. 使用compileall.compile_dir()函數: 編譯提供的目錄中存在的每個 python 文件。
    > > >導入編譯器> > > compileall.compile_dir (directoryname) 
  4. 在終端使用py_compile
    $ python -m py_compile File1.py File2.py File3.py ... 

    或者交互編譯文件

    $ python -m py_compile - File1.py File2.py File3.py. ... ... 
  5. 在終端中使用 compileall :此命令將自動遞歸導航到子目錄並為其找到的所有 python 文件創建 .pyc 文件。
    $ python -m compileall 

注意compileall py_compile 模塊是 python 標準庫的一部分,所以你不需要安裝任何額外的東西來使用它。

鏈接:
1。 https://docs.python.org/3/library/py_compile .html
2. https://docs.python.org/2/library/compileall .html
3. Effbot

本文由 Shubham Bansal 提供。如果你是 Python.Engineering 並且想投稿,你也可以使用 contribute.python.engineering 寫一篇文章或發表一篇文章貢獻@python.engineering。在 Python.Engineering 主頁上查看您的文章並幫助其他極客。

如何在 Python 中生成字節碼文件? _files: Questions

如何在 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