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 le début d'une ligne dans la console avant d'en connaître la fin


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut afficher le début d'une ligne dans la console avant d'en connaître la fin
    Bonjour,
    Je dois fournir à des collègues un code Python qu'ils utiliseront pour effectuer des calculs et plusieurs étapes, dont certaines sont loin d'être instantanées.
    Afin qu'ils puissent suivre clairement le déroulement des étapes successives, je souhaite que celles-ci s'affichent dans la console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    print "début du calcul de l'enthalpie...",
    enthalpie = calcule_enthalpie(molecules)
    print "fait"
    J'obtiens bien l'affichage voulu, mais le but serait que le début de la ligne, avant les points de suspension, s'affiche sans attendre des plombes la fin du calcul signalée par l'affichage de 'fait'. Ainsi les utilisateurs sauraient à chaque instant quelle étape longue est en cours... Je ne sais comment faire... merci pour votre aide.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bienvenue sur le forum.

    Je ne comprends pas le problème. Le code que tu indiques fait bien ce que tu veux qu'il se passe.
    Voici un code qui simule avec l'instruction sleep(6) un calcul durant 6 secondes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    from time import sleep
     
    print "début du calcul de l'enthalpie...",
    sleep(6)
    print "fait"
    Il apparait bien "début du calcul de l'enthalpie..." à l'écran puis 6 secondes plus tard "fait".

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Par défaut
    merci eyquem,
    chez moi ton script n'affiche rien pendant 6 secondes, puis la ligne s'affiche d'un seul coup. son comportement serait donc propre au système ? Pour ma part je lance les scripts depuis des consoles xterm sous Linux.
    Finalement j'ai trouvé ici une solution:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    import sys
    from time import sleep
     
    print "debut du calcul de l'enthalpie...",
    sys.stdout.flush()
    sleep(6)
    print "fait"

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Je pense que ces comportements différents sont dus à la console utilisée. Sous la pseudo-console de Scite, par exemple, le comportement est indéfini.

    A+

    Pfeuh

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

Discussions similaires

  1. Actualiser une ligne dans la console Python
    Par rambc dans le forum Général Python
    Réponses: 5
    Dernier message: 24/11/2009, 17h56
  2. Réponses: 7
    Dernier message: 24/09/2008, 22h35
  3. afficher le numero de la ligne dans une colonne
    Par maysa dans le forum Requêtes
    Réponses: 14
    Dernier message: 24/12/2007, 09h02
  4. Réponses: 4
    Dernier message: 02/06/2007, 12h35
  5. Remonter d'une ligne dans la console
    Par Pragmateek dans le forum C
    Réponses: 8
    Dernier message: 07/05/2006, 00h12

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