Python 檔案副檔名說明
.py
:- 這是 Python 的原始碼檔案。
- 包含可讀的 Python 程式碼。
- 可以直接由 Python 直譯器執行。
.pyc
:- 這是 Python 原始碼編譯後的位元組碼檔案。
- 當 Python 執行
.py
檔案時,如果找到對應的.pyc
檔案,它會直接執行.pyc
檔案,從而加快載入速度。 .pyc
檔案與平台無關。- 通常由 Python 直譯器自動產生。
.pyo
:- 這也是 Python 原始碼編譯後的位元組碼檔案,但它是經過優化後的版本。
- 使用
-O
參數執行 Python 時產生,例如:python -O -m py_compile file.py
。 - 優化後的位元組碼檔案通常比
.pyc
檔案小。
.pyd
:- 這是一個 Python 的動態連結庫檔案,通常由其他語言(如 C 或 C++)編寫。
- 它允許 Python 呼叫其他語言編寫的函式。
- 在 Windows 平台上,
.pyd
檔案類似於 DLL 檔案。
Python 程式的執行原理
Python 是一種解釋型語言,但它並非完全是解釋執行。Python 程式的執行過程如下:
- 編譯: Python 直譯器將原始碼
.py
檔案編譯成位元組碼.pyc
或.pyo
檔案。 - 執行: Python 虛擬機器執行位元組碼檔案。
編譯 Python 檔案
- 單個檔案編譯:
- 可以使用
py_compile
模組來編譯單個.py
檔案。 - 例如:
import py_compile; py_compile.compile('test.py')
。
- 可以使用
- 資料夾編譯:
- 可以使用
compileall
模組來編譯整個資料夾中的.py
檔案。 - 例如:
import compileall; compileall.compile_dir('directory')
。
- 可以使用
- 編譯為
.pyo
檔案:- 在命令列使用python -O -m py_compile file.py 指令。
程式發布的選擇
- 打包為 EXE 檔案:
- 使用工具(如 PyInstaller)將 Python 程式打包成可執行的 EXE 檔案。
- 這種方式方便使用者使用,但檔案通常較大。
- 發布
.pyc
或.pyo
檔案:- 如果使用者有 Python 環境,可以發布編譯後的
.pyc
或.pyo
檔案,以隱藏原始碼。
- 如果使用者有 Python 環境,可以發布編譯後的
- 發布原始碼
.py
檔案:- 通常用於開源專案,允許使用者查看和修改原始碼。