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 :

afficher des résultats intermédiaires


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut afficher des résultats intermédiaires
    Bonjour à tous.
    Quand je lance un script, il s'exécute, et ensuite, Python m'affiche tous les "print" demandés, les uns à la suite des autres.
    Comment faire pour afficher les print au fur et à mesure de leur "création", sans attendre la fin du programme?
    Merci

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2012
    Messages : 39
    Points : 31
    Points
    31
    Par défaut
    Bonjour,

    Si ton script n'affiche qu'à la fin les print() de ton programme, c'est que ton programme est écrit pour qu'il affiche ceux-ci à la fin.

    Il serait plus simple de poster ton script sur le forum pour comprendre pourquoi cela arrive et quels sont les façon d'y remédier.

  3. #3
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Citation Envoyé par sir_nebuchadnezzar Voir le message
    Si ton script n'affiche qu'à la fin les print() de ton programme, c'est que ton programme est écrit pour qu'il affiche ceux-ci à la fin.
    C’est un peu short comme réponse, ça… Ceci dit,

    Citation Envoyé par sir_nebuchadnezzar Voir le message
    Il serait plus simple de poster ton script sur le forum pour comprendre pourquoi cela arrive et quels sont les façon d'y remédier.
    …n’est pas faux*!

    Bon, pour en revenir au problème, il me semble que la console windows fait parfois sa mauvaise tête… Si c’est bien sous cet OS que vous êtes, print envoyant par défaut le texte sur sys.stdout, vous pouvez (après avoir importé sys évidemment) faire un sys.stdout.flush() après chaque print.

    Voire même écrire une fonction wrapper qui s’en charge*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def my_print(text):
        import sys
        print text
        sys.stdout.flush()
     
    my_print("A small test")

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Salut,

    Citation Envoyé par develuc Voir le message
    Quand je lance un script, il s'exécute, et ensuite, Python m'affiche tous les "print" demandés, les uns à la suite des autres.
    Comment faire pour afficher les print au fur et à mesure de leur "création", sans attendre la fin du programme?
    "print" affiche normalement la chaîne de caractère immédiatement sur la console.
    Si ce n'est pas le cas, c'est qu'un "contexte" modifie ce comportement.
    (est-on sur de parler de la fonction Python "print"?)

    Exemple de "contexte".
    Si vous lancer l'exécution du script dans un IDE (Netbeans, Eclipse, Emacs,...), celui ci va exécuter le programme dans un threads détaché et récupérer stdin, stderr (là où vont les "print") à la fin. Comportement qu'on n'a pas lorsqu'on lance le programme en mode console (quelque soit l'OS).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Décembre 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2011
    Messages : 47
    Points : 46
    Points
    46
    Par défaut
    Je suis passé en Linux (moi aussi ras le bol des cafouillages Windows!) depuis trois semaines.
    J'avais un pb (sous windows) que je viens de vous soumettre. Mais à ma grande honte, ce pb n'existe plus!
    Sans doute mont29 a-t-il raison et est-ce un pb windows!
    Je travaille sur Linux et l'IDE de python3.3, et maintenant ça fonctionne!
    Alors merci de vous être rapidement penchés sur mon pb.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/09/2010, 14h00
  2. Afficher des résultats
    Par sepehr_gsfc dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 31/03/2009, 16h19
  3. Réponses: 0
    Dernier message: 12/03/2009, 01h53
  4. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 16h18
  5. Afficher des résultats en fonction d'une valeur de liste
    Par subnox dans le forum VBA Access
    Réponses: 13
    Dernier message: 14/08/2007, 12h54

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