Maison > développement back-end > Tutoriel Python > Comment puis-je importer dynamiquement des modules Python en utilisant leurs chemins de fichiers complets ?

Comment puis-je importer dynamiquement des modules Python en utilisant leurs chemins de fichiers complets ?

Patricia Arquette
Libérer: 2024-12-30 17:31:13
original
643 Les gens l'ont consulté

How Can I Dynamically Import Python Modules Using Their Full File Paths?

Importation dynamique de modules avec un chemin complet spécifié

Les modules Python peuvent être importés dans un script en fournissant leurs chemins de fichiers complets. Cette méthode vous permet de charger des modules qui peuvent ne pas être connus à l'avance ou qui se trouvent en dehors de la bibliothèque standard.

Chargement de modules avec Importlib

Dans Python 3.5 et supérieur, utilisez importlib.util module :

import importlib.util
import sys

spec = importlib.util.spec_from_file_location("module.name", "/path/to/file.py")
foo = importlib.util.module_from_spec(spec)
sys.modules["module.name"] = foo
spec.loader.exec_module(foo)
foo.MyClass()
Copier après la connexion

Chargement de modules avec SourceFileLoader (Python 3.3-3.4)

Dans Python 3.3 et 3.4, utilisez SourceFileLoader depuis importlib.machinery :

from importlib.machinery import SourceFileLoader

foo = SourceFileLoader("module.name", "/path/to/file.py").load_module()
foo.MyClass()
Copier après la connexion

Chargement de modules avec imp (Python 2)

Pour Python 2, utilisez le module imp :

import imp

foo = imp.load_source('module.name', '/path/to/file.py')
foo.MyClass()
Copier après la connexion

Supplémentaire Notes

  • Le code fourni suppose que le module contient une classe nommée MyClass.
  • Il existe des fonctions similaires pour importer des fichiers Python et des DLL compilés.
  • Pour plus d'informations, reportez-vous au rapport de bug Python : http://bugs.python.org/issue21436.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal