在 Python 中匯入檔案
模組是由 Python 程式碼組成的檔案,其中包含函式、類和變數。本文將解釋如何在 Python 中匯入其他檔案或模組。
在 Python 中匯入檔案
有許多不同的方法可以在 Python 中匯入另一個檔案或模組。本文的其餘部分將解釋這些方法。
示例中使用的 test.py 檔案的內容如下。
def func_from_test():
print("func_from_test called")
def func_from_test_2():
print("func_from_test_2 called")
使用 import
匯入整個模組
import
語句查詢模組、載入和初始化。如果使用 as
語句,它會在本地名稱空間中為 import 語句出現的範圍定義一個名稱。
as
表示式的使用是可選的。如果不使用,則模組以其原始形式命名。
要匯入多個模組,你可以用逗號編寫它們。
以下程式將匯入 test.py 中的所有函式。
import test as t
t.func_from_test()
t.func_from_test_2()
使用 from .. import ..
匯入特定模組
帶有 import
語句的 from
查詢在 from 子句中指定的模組、載入和初始化。它檢查匯入的模組是否具有具有該名稱的屬性,如果未找到該屬性,則會引發 ImportError。
以下程式將僅匯入 test.py 中的 func_from_test
函式。
from test import func_from_test
func_from_test()
你可以使用星號 (*
) 匯入所有函式。
from test import *
func_from_test()
func_from_test_2()
使用 from
語句時,呼叫匯入函式時無需使用模組名稱。
使用 exec
從另一個 Python 檔案執行函式
exec()
函式提供 Python 程式碼的動態執行。假設給定一個字串作為引數;它被解析為稍後執行的 Python 語句包。
open()
函式中指定的檔案在下面的示例中開啟。檔案內容通過 read()
函式讀取,並作為字串引數提供給 exec()
函式。
然後你可以呼叫 test.py 中的函式。
exec(open("test.py").read())
func_from_test()
使用 os.system
執行 Python 檔案
system
命令包含在 os
模組中,並在子 shell 中執行作為字串給出的命令。在以下示例中,執行 file.py 檔案。
import os
os.system("python test.py")
從不同位置匯入檔案
sys.path
語句包括指定模組搜尋路徑的字串列表。我們可以將要安裝模組的目錄新增到此列表中。
為此,我們使用 os.path.abspath()
函式。此函式返回作為引數給出的路徑名的規範化絕對版本。
因此,不同位置的檔案被新增到路徑中,我們可以使用 import
語句匯入它。
import sys
import os
sys.path.append(os.path.abspath("/home/user/files"))
from test import *
func_from_test()
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn