Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > fr.comp.lang.python > #3201

Re: re-import d'un module

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 | NextPrevious in thread | Next in thread | Find similar


Thread

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