模組內部封裝了很多實用的功能,有時在模組外部呼叫就需要將其匯入。常見的方式有如下幾種:
1 . import
>>> import sys
>>> sys.path
['', 'c:\\python34\\lib\\idlelib', 'c:\\windows\\system32\\python34.zip', 'c:\\python34\\dlls', 'c:\\python34\\lib', 'c:\\python34', 'c:\\python34\\lib\\site-packages']
最常見的方式,直接將要匯入的模組名稱寫在後面匯入。
2 .from .. import ..
與import類似,只是更明確的要匯入的方法或變數,比如:
>>> from sys import path
>>> path
['', 'c:\\python34\\lib\\idlelib', 'c:\\windows\\system32\\python34.zip', 'c:\\python34\\dlls', 'c:\\python34\\lib', 'c:\\python34', 'c:\\python34\\lib\\site-packages']
>>>
import
"sys"
syntaxerror: invalid syntax
python import接收的是變數而不是字串,那將」sys」賦值給乙個變數呢?
>>> x="sys"
>>>
import x
traceback (most recent call last):
file "", line 1, in
import x
importerror: no module named 'x'
這樣也不行,這樣做的意思是匯入名為x的模組而非x代表的sys模組。
我們需要用到exec函式:
>>> x="sys"
>>> exec("import "+ x)
>>> sys.path
['', 'c:\\python34\\lib\\idlelib', 'c:\\windows\\system32\\python34.zip', 'c:\\python34\\dlls', 'c:\\python34\\lib', 'c:\\python34', 'c:\\python34\\lib\\site-packages']
將匯入語句構建成字串並傳遞給exec函式執行。
exec缺點是每次執行都要編譯,執行多次會影響效能。
更好的方式是使用__import__
函式。
>>> x="sys"
>>> sys = __import__(x)
>>> sys.path
['', 'c:\\python34\\lib\\idlelib', 'c:\\windows\\system32\\python34.zip', 'c:\\python34\\dlls', 'c:\\python34\\lib', 'c:\\python34', 'c:\\python34\\lib\\site-packages']
這種方式需要乙個變數儲存模組物件,以便後續呼叫。 Python 匯入模組的幾種方法
下級資料夾 子目錄 上級資料夾 父目錄 當你匯入乙個模組,python 解析器搜尋模組的順序是 當前目錄 shell 變數 windows環境變數 pythonpath 記錄的每個目錄。folder1 mod1.py mod2.py import module1 module2 modulen mo...
Python中模組的匯入
模組的概念 每乙個以副檔名py結束的python源 檔案都是乙個模組 模組名同樣也是乙個識別符號,需要符合識別符號的命名規則 在模組中定義的全域性變數 函式 類都是提供給外界直接使用的工具 模組就好比工具包,要想使用這個工具包中的工具,就需要先導入這個模組 模組匯入方式 import 模組1 imp...
python中模組匯入
1 路徑搜尋 列表中的路徑的先後順序代表了python直譯器在搜尋模組時的先後順序,如果程式查詢到相同名字的有可能並不是我們所需要的,後面使我們需要的也不會執行到,所以有時候我們需要手動新增路徑。import sys 2 重新匯入模組 匯入模組後,我們對之進行更改,都不會影響現在的模組內容,如果我們...