Un moyen simple de personnaliser l'importation Python

Il peut être utilisé lorsque vous souhaitez importer dynamiquement en raison de circonstances particulières.

https://docs.python.org/ja/3/library/importlib.html

Tout est écrit dans le document, mais c'est un peu difficile à comprendre, donc si vous voulez l'utiliser rapidement, je pense que c'est une bonne idée de mettre le code suivant au début.

import importlib.machinery
import sys


class PackageFinder(importlib.machinery.PathFinder):

    @classmethod
    def find_spec(cls, fullname, path=None, target=None):
        if not path:
            path = [] 
        #Spécifiez la liste des répertoires que vous souhaitez trouver dans le chemin
        path.append("/path/to/package/root")
        return importlib.machinery.PathFinder.find_spec(fullname, path, target)

sys.meta_path.append(PackageFinder)

En changeant dynamiquement le chemin du code ci-dessus, vous pouvez également faire des choses acrobatiques telles que la lecture synchrone d'un répertoire spécifique, le téléchargement et la lecture d'un répertoire distant (recommandé). Je n'en ai pas).

De plus, il y a aussi sys.path_hooks, donc cela semble être utilisé lorsque vous souhaitez personnaliser le comportement de l'importation de module qui lui correspond en prenant le chemin comme argument au lieu d'ajouter le chemin.

Recommended Posts

Un moyen simple de personnaliser l'importation Python
[Python] Une autre façon d'importer
Un moyen simple d'utiliser Wikipedia avec Python
Un moyen simple d'utiliser Python 2.7 sur Cent OS 6
Un moyen simple d'appeler Java depuis Python
Un moyen simple de renommer des fichiers
Un moyen facile de gratter avec Python en utilisant Google Colab
Un moyen simple de créer un module d'importation avec jupyter
[Python] Un moyen simple de visualiser les données énergétiques de manière interactive [plotly.express]
Bloc-notes Jupyter facile à utiliser (Python3.5)
Python facile à apprendre en écrivant
PyArmor ~ Un moyen facile de chiffrer et de fournir du code source Python ~
[Tutoriel Python] Une introduction facile à Python
Un moyen simple d'accéder à l'API produit Amazon en Python
Un moyen facile d'arrondir après la virgule décimale en python3
[Python] Comment utiliser import sys sys.argv
Mis à jour vers Python 2.7.9
Python est facile
Importer le module Python
Importer un script python
"Backport" vers python 2
Synthétiser l'importation Python
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
Le moyen le plus rapide pour les débutants de maîtriser Python
Python pour les super débutants Super débutants Python # Facile à éliminer
Résumé de la façon d'importer des fichiers dans Python 3
Importer un fichier Excel depuis Python (enregistré dans DB)
Le moyen le plus simple de synthétiser la voix avec python
Notation d'inclusion de liste Python facile à oublier
Un moyen facile de tracer un diagramme HR à l'aide d'une requête
Une manière intelligente de chronométrer le traitement avec Python
Excel X Python La technique de travail la plus rapide
Le moyen le plus simple d'utiliser OpenCV avec python
Comment charger facilement le processeur / la mémoire sous Linux
Introduction à Python avec Atom (en route)
Différence d'ID d'objet due à l'importation en Python
[Petite histoire] Un moyen simple de convertir Jupyter en PDF
Comment installer Python
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
[Réintroduction à python] Comment importer via le répertoire parent
Python depuis ou import
Réécrire le code Python2 en Python3 (2to3)
importation du module d'origine python
Flacon facile à utiliser
Comment installer python
Introduction au langage Python
Un moyen simple de remplir le début de 0 en fonction du nombre de chiffres dans le nombre [Python]
Introduction à OpenCV (python) - (2)
Ce n'est pas facile d'écrire Python, c'est facile d'écrire numpy et scipy
Remarque pour faire de python un démon
impossible d'importer django
Introduction de Python 2.7 à CentOS 6.6
Facile à utiliser SQLite3
Que faire lorsque "impossible d'importer le nom xxx" [Python]
[Introduction à Udemy Python3 + Application] 68. Instruction d'importation et AS
Connectez python à mysql