IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Sauter vers le mode interactif depuis un script Python


Sujet :

Python

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Sauter vers le mode interactif depuis un script Python
    Hello,

    Version simple et rapide:
    y a-t-il un moyen de sauter vers le mode interactif en cours d'execution d'un script, ou a la limite a la fin du script?

    Version plus compliquee::
    En fait j'utilisais jusqu'a maintenant "python -i monscript.py", l'option -i me permettant de recuperer la main a la fin de l'interpretation du script.
    Maintenant c'est un peu plus complique car je fais du embedded python (l'interpreteur est appele par un executable code en C). Pour ce que j'en ai trouve l'API-C ne me permet que de passer des chaines simples ou des scripts a interpreter. J'aimerais avoir acces au mode interactif, mais bizarrement je n'ai trouve aucune commande python qui saute vers ce mode (je crois me souvenir que MatLab permet ca par exemple, avec un prompt different qui rappelle que il y a un script en cours d'execution qui doit etre termine un jour ou l'autre).
    J'ai bien implemente une petite fonction qui peut passer a l'API des chaines simples que je lui passe, mais c'est penible car d'une part il faut faire des print a tout bout de champ, et d'autres part je ne peux pas definir des objets definis sur plusieurs lignes comme les fonctions. Une idee?

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 66
    Points
    66
    Par défaut
    J'ai rien compris mais les reponses vont peut etre m'interesser.


    Tu veux appeler a partir d'un programme C un script Python ?

    C'est pas dans le mode interactif que j'ai sauté, mais dans un autre monde...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Freyja
    Tu veux appeler a partir d'un programme C un script Python ?
    Ca je le fais deja facilement:
    http://www.python.org/doc/ext/embedding.html
    C'est relativement facile avec les fonctions de l'API C/Python. Mais ces fonctions ne me laissent que deux possibilites:
    • executer une chaine simple en tant que commande Python (PyRun_SimpleString)
    • interpreter tout un script Python (PyRun_SimpleFile)

    Moi j'aimerais bien aussi pouvoir lancer l'interpreteur en mode interactif.

    Mais ces considerations depassent ma question, pas besoin de savoir comment j'execute mes scripts pour y repondre: y a-t-il un moyen de recuperer la main sur l'interpreteur interactif en cours de script?

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par bahamut00
    Ca je le fais deja facilement:
    http://www.python.org/doc/ext/embedding.html
    C'est relativement facile avec les fonctions de l'API C/Python.
    N'est ce pas.

    Sinon désolé, je crois voir ce que tu veux faire, mais ne peux pas t'aider.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 8
    Points : 7
    Points
    7
    Par défaut
    Ok alors je me suis debrouille tout seul. J'explique pour ceux que ca pourrait interesser.
    Le but: prendre le controle sur l'interpreteur interactif (donc avoir la main avec le prompt ">>>") en cours d'execution d'un script Python, ce qui permettrait d'analyser/debugguer/modifier/definir a loisir les variables etc avant de terminer le script.

    * Pour ceux qui font du Python et seulement du Python:
    J'ai trouve ca qui pourrait etre susceptible de vous interesser. Mais je n'ai ABSOLUMENT PAS essaye:
    In Python you can use the codeop module, which approximates the parser's behavior sufficiently. IDLE uses this, for example.
    * Pour ceux qui n'ont pas peur d'ecrire une fonction en C:
    documentez-vous un peu sur extending Python et ecrivez votre petit module qui fournira une methode. Dans cette methode, appelez la fonction PyRun_InteractiveLoop() sur l'entree standard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PyRun_InteractiveLoop(stdin, "<STDIN>");
    A l'appel de cette methode par votre script Python, le prompt ">>>" apparaitra et vous aurez la main pour faire ce que vous voulez. Quand vous avez fini tapez CTRL-D pour quitter le mode interactif, terminer la methode et poursuivre l'execution du script.

    Enjoy

  6. #6
    Membre du Club
    Inscrit en
    Juillet 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 74
    Points : 66
    Points
    66
    Par défaut
    bravo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. simulation en mode accelerator depuis un script
    Par le fab dans le forum Simulink
    Réponses: 3
    Dernier message: 09/07/2012, 11h02
  2. Lancer un script shell depuis un script python
    Par freestyler dans le forum Général Python
    Réponses: 18
    Dernier message: 04/10/2011, 09h59
  3. comment re-sourcer mon .bashrc depuis un script python?
    Par Krishna dans le forum Général Python
    Réponses: 1
    Dernier message: 02/10/2010, 20h40
  4. Accents Command Line depuis un script Python
    Par nicou50 dans le forum Général Python
    Réponses: 6
    Dernier message: 29/12/2006, 10h41
  5. lancer un .bat depuis un script python
    Par manu.c dans le forum Général Python
    Réponses: 9
    Dernier message: 02/05/2006, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo