Maison >développement back-end >Tutoriel Python >Comment importer dynamiquement un module Python en utilisant son chemin complet ?

Comment importer dynamiquement un module Python en utilisant son chemin complet ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-01 01:57:09999parcourir

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

Importer dynamiquement un module en utilisant son chemin complet

En Python, la plupart des modules peuvent être importés en utilisant leurs noms sous forme de chaînes. Cependant, il existe des scénarios dans lesquels il peut être nécessaire d'importer un module en fonction de son chemin absolu. Voici un guide complet pour importer dynamiquement un module compte tenu de son chemin complet :

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 et 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()

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn