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 :

Print avec flush dans un notebook [Python 3.X]


Sujet :

Python

Vue hybride

jean86 Print avec flush dans un... 06/11/2020, 14h22
wiztricks Salut, Votre code ne... 06/11/2020, 15h43
jean86 pardon je n'ai pas vraiment... 07/11/2020, 12h15
wiztricks Salut, L'intérêt d'être... 07/11/2020, 12h37
jean86 Merci ! Les recherches que... 07/11/2020, 13h30
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut Print avec flush dans un notebook
    Bonjour,

    Lors de l'exécution de fonction avec une boucle où chaque itération prend du temps, quelque chose de pratique est d'afficher au fur et à mesure un indicateur pour savoir où est-ce que ça en est. Une solution est d'afficher par exemple l'indice d'itération, mais en faisant un simple `print`, cela retuorne à la ligne à chaque fois et cela prend de la place (d'autant plus que je travaille ici dans un notebook). En utilisant les options `flush` et `end`, j'arrive à faire cela dans un terminal python (cf la fonction jointe), mais cela ne fonctionne pas dans les notebook : cela n'affiche rien du tout !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    from time import sleep
    def p(n):
        for i in range(n):
            print("="*i, flush=True, end='\r')
            sleep(1)
        print(end="\n")
     
    p(10)
    Connaissez-vous un moyen pour réussir à faire cela dans un notebook ?

    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    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 726
    Par défaut
    Salut,

    Citation Envoyé par jean86 Voir le message
    Connaissez-vous un moyen pour réussir à faire cela dans un notebook ?
    Votre code ne fonctionne que sur une émulation de terminal où '\r' sera compris comme "positionner le curseur en début de ligne".

    Pour moi, un "notebook" est juste un ordinateur portable... et créer une "fenêtre" qui émule un terminal (ou on peut entrer des commandes) dépend de l'environnement système....

    Ce qui fait que je ne comprends pas trop ce que vous cherchez à faire.

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

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    pardon je n'ai pas vraiment précisé ce qu'est un notebook python (ce n'est peut être pas très démocratisé), c'est un document (extension ipynb) composé de plusieurs cellules de code python qui s'exécutent à la suite (voici une copie d'écran d'un exemple : https://raw.githubusercontent.com/ju...g_code_med.png).

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 726
    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 726
    Par défaut
    Salut,

    L'intérêt d'être précis est d'avoir des mots clefs pour chercher ce qu'on veut sur internet genre "jupyter notebook print same line" et de lire la prose qui remonte.

    Ce qui vous permet de trouver cet article et de choisir la solution la plus adaptée (sinon de chercher encore...)

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

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2016
    Messages : 7
    Par défaut
    Merci !

    Les recherches que j'avais effectuées n'avaient rien donné (peut être que je n'étais pas assez précis dans mes mots clés de recherche, comme vous venez de le dire), et les solutions proposées sur le lien fonctionnent bien !

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/09/2012, 17h22
  2. Nouvelle form avec bouton dans barre taches
    Par DarkChamallo dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 17/05/2004, 20h44
  3. [TP]Liaison série avec TP7 dans fenêtre DOS W2000
    Par Alain81 dans le forum Turbo Pascal
    Réponses: 8
    Dernier message: 14/06/2003, 00h43
  4. [VB6] Multiselection avec CTRL dans une msflexgrid
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 17/04/2003, 10h57
  5. PB avec "self" dans une dll
    Par DiJiRiDouS dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 09h32

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