Bonjour,
je voudrais faire quelque chose comme import "nomDuModule" au lieu de import nomDuModule. Autrement dit, je voudrais indiquer mon module avec une chaîne de caractère.
getattr peut-il être utile ?
Merci pour toute info.
Bonjour,
je voudrais faire quelque chose comme import "nomDuModule" au lieu de import nomDuModule. Autrement dit, je voudrais indiquer mon module avec une chaîne de caractère.
getattr peut-il être utile ?
Merci pour toute info.
getattr non, mais __import__ devrait faire l'affaire. Si tu importe des sous modules (package.module par exemple os.path) alors il faut faire:
est a peu pres (completement?) equivalent a import os.path as ospath
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def my_import(name): mod = __import__(name) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod ospath=my_import('os.path')
Merci.
Avec la méthode ci-dessus et celle de cette autre discussion , j'ai appris à importer des programmes et des fonctionnalités sans avoir à le faire à la main (je m'en servirais peut-être pour un système de plug-in mais ceci est une autre histoire...).
Ce n'est pas tout ça mais je dois bosser...
Encore une fois merci à Fructidor et à dividee.
Partager