Module Sys - Import
Bonjour Thibault,
Je me pose une question , dans la précédente video tu nous as montré qu'il fallait obligatoirement faire un reload du module lorsque ce dernier a déjà été importé et que l'on désire prendre en compte les modifications qui ont eu lieu après l'import.
Ce point je le comprends ...
Toutefois ce que je ne comprends pas c'est que dans cette vidéo ou l'on a mis notre script dans un chemin particulier que l'on a ajouté au sys , à 04:40 on voit que tu n'as pas eu besoin de faire un reload pour prendre en compte la modification.
Doit on comprendre qu'un module qui ne serait pas dans les répertoires par défaut de python sont reloadé automatiquement à chaque import.
Hello al,
Alors, normalement non, Python ne va pas recharger automatiquement un module simplement parce qu'il n'est pas dans un répertoire par défaut.
Difficile à dire pour ce cas précis mais plusieurs choses peuvent l'epxliquer. Si la session Python a été redémarrée entre la modification du script et son import, là oui, les modifications seront prises en compte sans besoin de reload car c'est une nouvelle instance du programme qui est lancée. Ou encore, si l' environnement de développement (comme IDLE, PyCharm, etc.) possède des outils intégrés qui rechargent automatiquement les modules lorsqu'ils détectent des changements, ceci pourrait aussi expliquer ce comportement.
Normalement tu dois effectuer un reload manuellement pour que les modifications sur un module déjà importé soient prises en compte dans la même session d'interpréteur. Python met en cache les modules chargés en mémoire pour des raisons de performances, donc lors d'un nouvel import sans redémarrage, il ne va pas relire le fichier sauf si explicitement demandé par un reload.
En espérant que ça t'éclaire un peu.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte