Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mengimport Modul Python Secara Dinamik Menggunakan Laluan Penuhnya?

Bagaimana Mengimport Modul Python Secara Dinamik Menggunakan Laluan Penuhnya?

Linda Hamilton
Linda Hamiltonasal
2025-01-01 01:57:091025semak imbas

How to Dynamically Import a Python Module Using Its Full Path?

Mengimport Modul Secara Dinamik Menggunakan Laluan Penuh

Dalam Python, kebanyakan modul boleh diimport menggunakan nama mereka sebagai rentetan. Walau bagaimanapun, terdapat senario yang mungkin perlu untuk mengimport modul berdasarkan laluan mutlaknya. Berikut ialah panduan komprehensif untuk mengimport modul secara dinamik berdasarkan laluan penuhnya:

Python 3.5

import importlib.util
import sys

# Specify the module name and its full path
module_name = "module.name"
file_path = "/path/to/file.py"

# Create a specification for the module
spec = importlib.util.spec_from_file_location(module_name, file_path)

# Create the module object using the specification
module = importlib.util.module_from_spec(spec)

# Add the module to the system's module list
sys.modules[module_name] = module

# Execute the module's code
spec.loader.exec_module(module)

# Access the imported classes or functions
module.MyClass()

Python 3.3 dan 3.4

from importlib.machinery import SourceFileLoader

# Specify the module name and its full path
module_name = "module.name"
file_path = "/path/to/file.py"

# Load the module using the SourceFileLoader
module = SourceFileLoader(module_name, file_path).load_module()

# Access the imported classes or functions
module.MyClass()

Python 2

import imp

# Specify the module name and its full path
module_name = "module.name"
file_path = "/path/to/file.py"

# Load the module using imp.load_source
module = imp.load_source(module_name, file_path)

# Access the imported classes or functions
module.MyClass()

Atas ialah kandungan terperinci Bagaimana Mengimport Modul Python Secara Dinamik Menggunakan Laluan Penuhnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn