Est-il possible de démarrer un shell python interactif dans un programme python?
Par exemple, je souhaite utiliser ce shell python interactif pour inspecter certaines variables internes du programme.
Est-il possible de démarrer un shell python interactif dans un programme python?
Par exemple, je souhaite utiliser ce shell python interactif pour inspecter certaines variables internes du programme.
Jetez un oeil à 28. Custom Interpreters Python .
Voir aussi Script dans une application Python .
J'ai ce code depuis longtemps, j'espère que vous pourrez le mettre à profit.
Pour inspecter / utiliser des variables, il suffit de les mettre dans l'espace de noms actuel. Par exemple, je peux accéder à var1
et var2
partir de la ligne de commande.
var1 = 5
var2 = "Mike"
# Credit to effbot.org/librarybook/code.htm for loading variables into current namespace
def keyboard(banner=None):
import code, sys
# use exception trick to pick up the current frame
try:
raise None
except:
frame = sys.exc_info()[2].tb_frame.f_back
# evaluate commands in current namespace
namespace = frame.f_globals.copy()
namespace.update(frame.f_locals)
code.interact(banner=banner, local=namespace)
if __name__ == '__main__':
keyboard()
Cependant, si vous voulez strictement déboguer votre application, je vous suggère fortement d' utiliser un IDE ou un pdb (débogueur python) .
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.