Импорт модуля из полного пути к файлу в Python
- Импорт модуля с полным путем к файлу в Python 3.5+
- Импорт модуля с полным путем к файлу в Python 3.3 и 3.4
- Импорт модуля с полным путем к файлу в Python 2

Чтобы импортировать файл Python по заданному пути, используйте библиотеки Python на основе версии Python. В этой статье объясняется, как импортировать модуль с учетом полного пути к модулю в Python.
Используйте следующие функции библиотек на основе версии Python для импорта модулей.
- Для Python 3.5+ импортируйте
importlib.util
. - Для Python 3.3 и 3.4 импортируйте
importlib.machinery
,SourceFileLoader
. - Для Python 2 импортируйте
imp
.
Прежде чем мы начнем, подготовьте файл настройки, чтобы продемонстрировать примеры.
- Упомяните следующий код в файле
addmodule.py
.
def printingstatement():
print("From addmodule.py")
- Поместите
addmodule.py
в папку. В приведенных ниже примерах он находится внутриc:\\Users\\Rexjohn\\Folder-1\\
.
Импорт модуля с полным путем к файлу в Python 3.5+
Для Python 3.5+ используйте функции библиотеки importlib.util
для импорта модуля:
import importlib.util
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
modulevar = importlib.util.module_from_spec(spec)
spec.loader.exec_module(modulevar)
modulevar.printingstatement()
Здесь используйте следующие функции из библиотеки importlib.util
.
spec_from_file_location(MODULE_NAME, MODULE_PATH)
. Пожалуйста, укажите полный путь к файлу с именем модуляMODULE_NAME
вMODULE_PATH
.module_from_spec(spec)
exec_module(modulevar)
Выход:
From addmodule.py
Импорт модуля с полным путем к файлу в Python 3.3 и 3.4
Если вы работаете с Python 3.3 и 3.4, вы можете использовать функции библиотеки importlib.machinery
, SourceFileLoader
для импорта модуля:
from importlib.machinery import SourceFileLoader
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
modulevar.printingstatement()
Здесь используйте следующие функции из библиотек importlib.machinery
, SourceFileLoader
, указав.
SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
Выход:
From addmodule.py
Импорт модуля с полным путем к файлу в Python 2
Для Python 2 используйте функции библиотеки imp
для импорта модуля:
import imp
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)
modulevar.printingstatement()
Здесь используйте следующую функцию из библиотеки imp
.
load_source(MODULE_NAME, MODULE_PATH)
Выход:
From addmodule.py