在 Python 中匯入檔案

Yahya Irmak 2022年5月17日
在 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()
Author: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

相關文章 - Python Module