Coucou Quentin et la ML,
J'ai tenté d'ajouter un moyen de charger des extensions, mais ça ne
fonctionne pas.
Que je mette mon fichier MyExtension1.py de test dans le dossier
racine du projet ou dans le sous-dossier Space, je me prends une
ModuleNotFoundError... si quelqu'un sait comment
importlib.import_module marche ?
En fait, tout va dépendre de l'endroit où est situé ton module
"MyExtension1.py".
S'il est situé à l'intérieur du sous-dossier "space", avec __main__.py
etc., c'est relativement simple.
import importlib
mod = importlib.import_module ("MyExtension1")
# Ou encore plus simple.
import MyExtension1 as mod
# ou s'il est dans un sous-dossier :
mod = importlib.import_module ("nomPackage.MyExtension1")
# Ou encore plus simple :
from package import MyExtension1 as mod
# L'objet mod sera alors en mesure d'exploiter les différents objets
figurant dans le module "MyExtension1.py".
Toute fois, si le module "MyExtension1.py" est situé à la racine du
projet, avec les fichiers lng, ini etc., il faudra utiliser le chemin
absolu comme suit .
D'ailleurs, ce chemin absolu est déjà disponible dans la classe
Application du module __main__ grâce à la variable d'instance self.dir
que tu as déja créée.
import importlib
import os
import sys
from pathlib import Path
# On cible le module actuellement exécuté.
path=Path(sys.argv[0])
# On pointe vers le chemin absolu du dossier racine, qui comporte les
fichiers lng, ini, etc.
path=str(path.parent.resolve())
# Maintenant, on va supposer que l'on dispose d'un module nommé
"MyExtension1.py" Ã la racine, avec les fichiers lng, ini, etc.
path = os.path.join(path, "MyExtension1.py")
spec=importlib.util.spec_from_file_location("myModule", path)
mod = importlib.util.module_from_spec(spec)
spec.loader.exec_module(mod)
# L'objet mod sera alors en mesure d'exploiter les différents objets
figurant dans le module "MyExtension1.py".
Voila, en espérant que ça te rendra ne serait-ce qu'un tout petit
service en échange de ceux que tu nous as tant rendus...
Bien amicalement,
Abdel.
Progliste :
Pour se d�sinscrire de la liste :
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/
Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je
vous r�pondrez en priv�.