Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3201
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail |
|---|---|
| From | Pierre Maurette <maurette.pierre@free.fr> |
| Newsgroups | fr.comp.lang.python |
| Subject | Re: re-import d'un module |
| Date | Wed, 12 Jun 2019 13:04:51 +0200 |
| Organization | A noiseless patient Spider |
| Lines | 45 |
| Message-ID | <mn.63107e3640d8c96b.79899@free.fr> (permalink) |
| References | <5d00c1c7$0$14382$426a74cc@news.free.fr> |
| Reply-To | maurette.pierre@free.fr |
| Mime-Version | 1.0 |
| Content-Type | text/plain; charset="iso-8859-15"; format=flowed |
| Content-Transfer-Encoding | 8bit |
| Injection-Info | reader02.eternal-september.org; posting-host="a1ee50a2ffd925d55678ece368c29ead"; logging-data="32123"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/zNeqoKOTa/gL/LGhBd0HJb1IvZIDwpWo=" |
| Cancel-Lock | sha1:Gv10b+/ndLz5d0lJQKE3t2hHdoc= |
| X-Newsreader | MesNews/1.08.06.00-fr |
| X-Face | cmi$3R1_J{[}5K|8d'LDiJ$SsZ*gn,j*PhJ#KVGt+45,E_N9O}GrhhQ>fb&q<&lz=g%PEv' u"m)N|KrBMux?2:E?N7Uw3L#H>L#GwM}<qH-?#_Y$B9]$q1"~iUGtN#HVy?}7.`m&iKF>gY:.`W.qu z`1'W'h-AXPmB]#7~<+@H.<0M`-jBkCWbmkcT_*LBVD3|p1a?h1H;cHq{$-vbeP@Hdcqp5z~lwU7ZK `~ |
| Xref | csiph.com fr.comp.lang.python:3201 |
Show key headers only | View raw
Fabrice :
> Bonjour,
>
> j'ai créé dans un objectif d'enseignement un module Python qui possède une
> fonction DonnéeSuivante() qui porte bien son nom ;-)
>
> Au premier import, mon programme fonctionne bien et je peux récupérer les
> données au fur et à mesure à partir de la première donnée.
>
> J'intègre mon programme dans un fichier jupyter. Tout se passe donc dans une
> même session.
>
>
> J'aimerai lorsque je passe à l'amélioration de mon programme qu'à l'import du
> module celui-ci soit réellement ré-importé et que les variables soient
> réinitialisées pour que la fonction DonnéeSuivante() recommence à son
> comportement initial sans que l'utilisateur ait à s'en soucier.
>
> Comment faire ?
Il me semble que je ne ferais pas de cette façon (mais j'ignore
Jupyter, je préfère Jupyler).
Pourquoi pas:
import sys
...
if 'nomdevotremodule' not in sys.modules:
import nomdevotremodule
else
nomdevotremodule.moninit()
(nomdevotremodule.moninit à écrire)
Sinon vous avez peut-être reload(), qui devient imp.reload() puis
importlib.reload() en Python 3 puis Python 3.4. Mais ça va dépendre de
ce à quoi est lié le module, c'est typiquement le genre de truc qui
fonctionne dans un premier temps puis se met à faire des trucs étranges
après telle ou telle modification.
Avec la première solution, je contrôle: je veux recharger le module
pour qu'il redémarre une séquence (si j'ai bien compris), alors je lui
dis simplement de redémarrer la séquence.
--
Pierre Maurette
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
re-import d'un module Fabrice <professeur.leclercq@gmail.com> - 2019-06-12 11:11 +0200
Re: re-import d'un module Pierre Maurette <maurette.pierre@free.fr> - 2019-06-12 13:04 +0200
Re: re-import d'un module ast <none@gmail.com> - 2019-06-12 14:28 +0200
Re: re-import d'un module "Pascal J. Bourguignon" <pjb@informatimago.com> - 2019-06-12 19:21 +0200
Re: re-import d'un module Fabrice <professeur.leclercq@gmail.com> - 2019-06-13 11:46 +0200
Re: re-import d'un module Nicolas <nicolasp@aaton.com> - 2019-06-13 14:20 +0200
Re: re-import d'un module Fabrice <professeur.leclercq@gmail.com> - 2019-06-15 09:30 +0200
csiph-web