在python中,模組就是乙個**檔案,模組中可以定義類、函式、變數,也可以包含可執行的**。
使用import匯入。
1.1 搜尋路徑
搜尋模組時,python會按照sys.path列表中的路徑,依次進行搜尋。可以通過sys.path檢視搜尋路徑。
將模組的路徑新增到sys.path路徑的三種方法:
(1)動態新增
(2)若經常用到,可以在python安裝目錄下的lib\site-packages資料夾下建立乙個純文字檔案,擴充套件名為.path。
(3)修改環境變數。
1.2 匯入模組
可以一次匯入多個模組
1.3 匯入指定的模組屬性
如:from xlutils.copy import copy
1.4 載入模組
在程式開發中,乙個模組可以在多處被import,但python只會匯入一次,因為所有載入到記憶體的模組都會被放入到sys.modules中。
載入模組會導致這個模組被「執行」。
1.5 命名空間
python程式執行時存在內建命名空間、全域性命名空間和區域性命名空間。
1.6 「編譯」的python檔案
python中一旦被引用的模組(假設為example.py)被成功編譯,其對應的編譯版本example.pyc就會被建立。如果建立成功,那麼example.py的修改時間會記錄在example.pyc中,下次載入時,如果兩個檔案的修改時間不匹配,則.pyc檔案就會被忽略。如果有可用的.pyc檔案,則會使用.pyc檔案提高模組的載入速度。當程式需要載入多個模組時,.pyc檔案能夠有效地提高程式的啟動速度。
1.7 自動匯入模組
sys模組的modules變數中儲存了完整且成功匯入的模組資訊。
1.8 迴圈匯入
迴圈匯入(circular import)是一種死迴圈,即a**需要b才能執行,而偏偏b**是建立在a**基礎上。
包(package)可以看成模組的集合,只要乙個資料夾下面有__init__.py檔案,那麼該資料夾就可以看作乙個包。包下面還可以有子包。
匯入包的過程與匯入模組的基本一致,只是匯入包的時候會執行目錄下的__init__.py,而不是模組裡的語句。另外,如果只是單純地匯入包,而包的__init__.py中又沒有明確的其他初始化操作,那麼此包下面的模組是不會自動匯入的。
例如,乙個簡章的包目錄
pac/
__init__.py
subpac1/
__init__.py
modu1.py
subpac2/
__init__.py
modu1.py
匯入方法:
from pac.subpac1 import modu1
import pac.subpac1.modu1
python提供了distutils、setuptools、py2exe、pyinstaller、cx_freeze等程式打包工具,其中,setuptools是distutils的增強工具,py2exe、pyinstaller、cx_freeze是windows平台下製作exe檔案的工具。distutils包含在python的標準版發行包中。
3.1 distutils
例如,首先建立乙個hello.py檔案。
(1)建立乙個setup.py檔案,內容如下:
from distutils.core import setup
setup(name='hello',version='1.0',description='hello ccc',author='cheng',py_modules=['hello'])
(2)執行打包命令:
>>>python setup.py sdist
結果:該命令建立了dist目錄,並將要打包的檔案複製到hello-1.0.zip的壓縮檔案中。
3.2 py2ext
py2exe暫時到目前只支援到3.4版本(包括cxfreeze),在3.5版本中會報錯。
(1)建立建立乙個setup.py檔案,內容如下:
from distutils.core import setup
import py2exe
setup(console=['hello.py'])
(2)執行命令:
>>>python setup.py py2exe
第八章 模組與包
1.模組的概念 模組是乙個儲存了python 的檔案,其中可以包含變數 函式或類的定義,也可以包含其他各種python語句。2.import用於匯入整個模組,可用as為匯入的模組指定乙個別名。使用import匯入模組後,模組中的物件均以 模組名 別名 物件名稱 的方式來引用。3.模組的匯入 若只想匯...
python模組與包
路徑修改 命令列怎麼檢視路徑,修改路徑 列印當前搜尋路徑 import sys sys.path sys.path import os os.getcwd os.chdir c www 模組實現構建模組的初衷就是將一些同類的東西進行打包,以免汙染全域性空間,在python的模組裡,對需要隱藏的屬性和...
python 模組與包
模組與包 1.什麼是模組 在 python 中,乙個.py檔案就稱之為乙個模組 module 模組的優點 大大提高了 的可維護性 編寫 不必從零開始。當乙個模組編寫完畢,就可以被其他地方引用 2.匯入模組的幾種方式 4.模組的分類 1 內建模組 os,sys,dnspython,socket,tim...