Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs, sausage
as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
Kobayashi a écrit :
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs, sausage
as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs, sausage
as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
Bonjour,
Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
il n'y a pas de commande toute faite. Mais on peut faire ceci:
mod = __import__("aaa-bbb")
globals().update(mod.__dict__)
Attention ce code importe aussi les éléments qui commencent par '_' (ce
que "import *" ne fait pas) y compris des trucs qui peuvent être
embêtants comme __file__, __name__, __doc__...
il vaut mieux les enlever:
mod = __import__("aaa-bbb")
globals().update((name, value)
for name, value in mod.__dict__.iteritems()
if not name.startswith('_'))
Bonne nuit,
Bonjour,
Kobayashi a écrit :
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
il n'y a pas de commande toute faite. Mais on peut faire ceci:
mod = __import__("aaa-bbb")
globals().update(mod.__dict__)
Attention ce code importe aussi les éléments qui commencent par '_' (ce
que "import *" ne fait pas) y compris des trucs qui peuvent être
embêtants comme __file__, __name__, __doc__...
il vaut mieux les enlever:
mod = __import__("aaa-bbb")
globals().update((name, value)
for name, value in mod.__dict__.iteritems()
if not name.startswith('_'))
Bonne nuit,
Bonjour,
Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Merci d'avance !
K.
il n'y a pas de commande toute faite. Mais on peut faire ceci:
mod = __import__("aaa-bbb")
globals().update(mod.__dict__)
Attention ce code importe aussi les éléments qui commencent par '_' (ce
que "import *" ne fait pas) y compris des trucs qui peuvent être
embêtants comme __file__, __name__, __doc__...
il vaut mieux les enlever:
mod = __import__("aaa-bbb")
globals().update((name, value)
for name, value in mod.__dict__.iteritems()
if not name.startswith('_'))
Bonne nuit,
Salut !
Tente
execfile("aaa-bbb.py")
ou
execfile("aaa-bbb.py",globals(),globals())
OK, je sais que certains vont crier "Au loup !"
; mais il faut savoir s donner les moyens de ses ambitions.
@+
Salut !
Tente
execfile("aaa-bbb.py")
ou
execfile("aaa-bbb.py",globals(),globals())
OK, je sais que certains vont crier "Au loup !"
; mais il faut savoir s donner les moyens de ses ambitions.
@+
Salut !
Tente
execfile("aaa-bbb.py")
ou
execfile("aaa-bbb.py",globals(),globals())
OK, je sais que certains vont crier "Au loup !"
; mais il faut savoir s donner les moyens de ses ambitions.
@+
Bruno Desthuilliers a écrit :Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Bonjour Bruno,
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
Merci du conseil ! Mais quand je pose une question sur le forum,
j'ai déjà lu le manuel ... Peut-être pas assez bien, je te
l'accorde puisque je n'ai pas trouvé ce que je cherchais.
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs,
sausage as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Tu charges les symboles 'eggs' et 'sausage' depuis le
module 'spam.ham' dans le module _temp ... Tu définis eggs
à _temp.eggs et saus à _temp.sausage dans ton contexte
global. Au passage, tu as modifié le nom sausage --> saus
Cela me paraît assez différent d'un
from spam.ham import eggs, saus
qui échouerai ou d'un
from spam.ham import eggs, sausage
qui ne définit pas le nom 'saus'
et encore plus d'un
from spam.ham import *
que je voulais faire initialement.
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Loin de moi de critiquer la doc. python qui est extrêmement bien faite
mais la phrase "and assigned to their respective names." ne me paraît
d'une limpidité absolue ... J'imagine qu'elle veut dire que l'on peut
accéder à _temp.sausage mais la ligne de code "saus = _temp.sausage"
rend l'exemple confus (je trouve) ... Il aurait été peut-être
suffisant d'écrire :
print _temp.eggs
print _temp.sausage
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
:) Evidemment, si on change de problème ...
Imagine que tu as une application graphique qui permet de mettre
en donnée un code de calcul et que le format persistant de cette
application est un script python (pour l'utilisateur, c'est
formidable, il peut faire rapidement une mise en donnée pour
aller ensuite modifier le code, faire des boucles, etc.).
Tu aimerais que ton application puisse recharger un script
python sauvegardé ... Nous sommes arrivé au cas où un utilisateur
a eu la bonne idée de sauvegarder son étude dans "usecase-test.py" ...
d'où le problème ! Soit on lui dit que c'est une limitation,
soit on essaye de trouver un moyen de recharger son cas.
Cordialement,
K.
Bruno Desthuilliers a écrit :
Kobayashi a écrit :
Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Bonjour Bruno,
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
Merci du conseil ! Mais quand je pose une question sur le forum,
j'ai déjà lu le manuel ... Peut-être pas assez bien, je te
l'accorde puisque je n'ai pas trouvé ce que je cherchais.
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs,
sausage as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Tu charges les symboles 'eggs' et 'sausage' depuis le
module 'spam.ham' dans le module _temp ... Tu définis eggs
à _temp.eggs et saus à _temp.sausage dans ton contexte
global. Au passage, tu as modifié le nom sausage --> saus
Cela me paraît assez différent d'un
from spam.ham import eggs, saus
qui échouerai ou d'un
from spam.ham import eggs, sausage
qui ne définit pas le nom 'saus'
et encore plus d'un
from spam.ham import *
que je voulais faire initialement.
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Loin de moi de critiquer la doc. python qui est extrêmement bien faite
mais la phrase "and assigned to their respective names." ne me paraît
d'une limpidité absolue ... J'imagine qu'elle veut dire que l'on peut
accéder à _temp.sausage mais la ligne de code "saus = _temp.sausage"
rend l'exemple confus (je trouve) ... Il aurait été peut-être
suffisant d'écrire :
print _temp.eggs
print _temp.sausage
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
:) Evidemment, si on change de problème ...
Imagine que tu as une application graphique qui permet de mettre
en donnée un code de calcul et que le format persistant de cette
application est un script python (pour l'utilisateur, c'est
formidable, il peut faire rapidement une mise en donnée pour
aller ensuite modifier le code, faire des boucles, etc.).
Tu aimerais que ton application puisse recharger un script
python sauvegardé ... Nous sommes arrivé au cas où un utilisateur
a eu la bonne idée de sauvegarder son étude dans "usecase-test.py" ...
d'où le problème ! Soit on lui dit que c'est une limitation,
soit on essaye de trouver un moyen de recharger son cas.
Cordialement,
K.
Bruno Desthuilliers a écrit :Kobayashi a écrit :Bonjour à tous,
J'arrive au cas où je veux importer des symboles
depuis le fichier aaa-bbb.py ...Evidemment :
from aaa-bbb import *
échoue. Par contre :
mod = __import__("aaa-bbb")
est ok ... Donc je cherche le moyen de faire
from ... import ...
en utilisant __import__ ?? J'ai su faire cela mais
je ne parviens pas à m'en rappeler !
Bonjour Bruno,
T'aurais eu plus vite fait de consulter le FameuxManuel(tm):
http://docs.python.org/library/functions.html
Merci du conseil ! Mais quand je pose une question sur le forum,
j'ai déjà lu le manuel ... Peut-être pas assez bien, je te
l'accorde puisque je n'ai pas trouvé ce que je cherchais.
"""
__import__(name[, globals[, locals[, fromlist[, level]]]])¶
(snip)
On the other hand, the statement from spam.ham import eggs,
sausage as saus results in
_temp = __import__('spam.ham', globals(), locals(), ['eggs',
'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
Tu charges les symboles 'eggs' et 'sausage' depuis le
module 'spam.ham' dans le module _temp ... Tu définis eggs
à _temp.eggs et saus à _temp.sausage dans ton contexte
global. Au passage, tu as modifié le nom sausage --> saus
Cela me paraît assez différent d'un
from spam.ham import eggs, saus
qui échouerai ou d'un
from spam.ham import eggs, sausage
qui ne définit pas le nom 'saus'
et encore plus d'un
from spam.ham import *
que je voulais faire initialement.
Here, the spam.ham module is returned from __import__(). From this
object, the names to import are retrieved and assigned to their
respective names.
"""
Loin de moi de critiquer la doc. python qui est extrêmement bien faite
mais la phrase "and assigned to their respective names." ne me paraît
d'une limpidité absolue ... J'imagine qu'elle veut dire que l'on peut
accéder à _temp.sausage mais la ligne de code "saus = _temp.sausage"
rend l'exemple confus (je trouve) ... Il aurait été peut-être
suffisant d'écrire :
print _temp.eggs
print _temp.sausage
Ceci étant, la solution la plus simple reste bien sûr de nommer ton
module de façon à pouvoir l'utiliser normalement !-)
:) Evidemment, si on change de problème ...
Imagine que tu as une application graphique qui permet de mettre
en donnée un code de calcul et que le format persistant de cette
application est un script python (pour l'utilisateur, c'est
formidable, il peut faire rapidement une mise en donnée pour
aller ensuite modifier le code, faire des boucles, etc.).
Tu aimerais que ton application puisse recharger un script
python sauvegardé ... Nous sommes arrivé au cas où un utilisateur
a eu la bonne idée de sauvegarder son étude dans "usecase-test.py" ...
d'où le problème ! Soit on lui dit que c'est une limitation,
soit on essaye de trouver un moyen de recharger son cas.
Cordialement,
K.