1. 程式人生 > >關於python包,模塊,.pyc文件和文件導入理解

關於python包,模塊,.pyc文件和文件導入理解

pil path pyc 必須 如果 自動生成 有一個 沒有 http

參考文獻

一、包

包是一個文件夾,用來存放模塊和子包。

包裏一般會有一個__init__.py的文件(也可以沒有)。

包裏會有一個__pycache__文件夾,存放.py文件經解釋器解釋後的中間字節碼(二進制文件)。

二、模塊

可以作為模塊的文件有.py、.pyc、.pyo、.pyd、.so、.dll文件。

三、.pyc文件與.pyo文件

這兩個文件都是二進制文件,由python解釋器將.py文件轉化成的二進制文件,目的是加快解釋速度且可以隱藏源代碼。

python解釋器在解釋.py文件時,會優先查看是否有對應的最新的.pyc文件,有的話則直接加載.pyc文件。在加載之前,會檢查.pyc文件是不是最新的(判斷對應.py文件的修改時間),如果不是最新的,則解釋.py文件。

.pyc文件可以由python自帶模塊py_compile生成,且會自動生成一個__pycache__文件夾存放.pyc文件。

如果沒有.py文件,只有對應的.pyc文件,也可以調用,因為.pyc文件可以當作模塊使用。

.pyo文件是對.pyc文件的優化版本,作用一致。

四、__init__.py文件的作用

__init__.py作用是將包變成一個模塊(像.py一樣的模塊使用)

假如有個包名稱為:package

1.在該文件中添加__all__=[‘os‘,‘sys‘,‘base64‘]變量,變量內存放著需要使用的模塊名稱。這樣通過from package import *時,就可以將__data__列表內的模塊加載進來。

2.在該文件中添加import os,將需要導入的包導入進來,這樣通過package.os就可以調用這個包了(必須加包名)。

五、如何將自己寫的模塊放入包導入路徑中

import sys

sys.path.append(‘your path‘)

一般將包或者模塊放置在啟動文件的當前目錄

關於python包,模塊,.pyc文件和文件導入理解