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 :

Le texte s'affiche dans la fenêtre de saisie de code et pas dans la console !


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Février 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Février 2019
    Messages : 67
    Par défaut Le texte s'affiche dans la fenêtre de saisie de code et pas dans la console !
    Bonjour à tous,

    Je souhaite réaliser un petit programme simple où une phrase s'affiche caractère par caractère avec un délai entre l'affichage de 2 caractères.
    J'ai trouvé ce code qui utilise la bibliothèque keyboard.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    import keyboard
    import time
    from pynput.keyboard import Controller
     
    keyboard = Controller()
     
    time.sleep(2) 
     
    for char in "Cette phrase va s'écrire lettre par lettre":
        keyboard.press(char)
        keyboard.release(char)
        time.sleep(0.15)
    Je travaille avec l'interface Spyder.
    Je positionne le curseur dans la fenêtre de la Console où s'exécutent toujours les programmes, puis j'exécute le programme......et là....quelque chose de curieux se produit.
    La phrase "Cette phrase va s'écrire lettre par lettre" s'écrit bien lettre par lettre.....mais la fenêtre où on tape le code ! et pas dans la console. Voir image.
    C'est la première fois que je vois un programme s'exécuter dans la fenêtre de saisie du code !!

    Quelqu'un sait comment faire apparaitre la phrase dans la console Spyder ? Merci.

    Nom : texte.jpeg
Affichages : 2366
Taille : 286,0 Ko

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Même comportement chez moi.

  3. #3
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Rien à voir avec ta question qui me paraît triviale mais pourquoi importe-tu keyboard si c'est pour utiliser son nom à autre chose trois lignes plus loin ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    import keyboard
    ...
     
    keyboard = Controller()

  4. #4
    Membre chevronné
    Homme Profil pro
    BTS SN IR
    Inscrit en
    Mai 2017
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : BTS SN IR

    Informations forums :
    Inscription : Mai 2017
    Messages : 514
    Par défaut
    Citation Envoyé par Olivier20000 Voir le message

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    import keyboard
    import time
    from pynput.keyboard import Controller
     
    keyboard = Controller()
     
    time.sleep(2) 
     
    for char in "Cette phrase va s'écrire lettre par lettre":
        keyboard.press(char)
        keyboard.release(char)
        time.sleep(0.15)
    Bonjour,

    Et bien à la simple vue des nom de fonction je dirais que keyboard n'est pas fait pour écrire dans une sortie (stdout/stderr ou fichier par exemple) mais pour simuler un appuie clavier, si vous aviez été dans un jeux vidéo vous auriez ouvert 10 interfaces et lancer 3 grenades.
    Si on essaye de traduire grossièrement le code ça donne "clavier appuis sur la touche X, clavier relâche la touche X"

    vous devriez plutôt utiliser print directement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import time
     
    for i, c in enumerate("je suis une phrase"):
    	if i != 0:
    		time.sleep(0.5)
    	print(c, end="", flush=True)
    https://docs.python.org/fr/3.8/libra...ons.html#print

    je vous laisse modifier end et flush afin de voir ce que cela change

    ps: il faut vraiment en finir avec ces headers de coding à la http://sametmax.com/un-header-dencod...e-pour-python/ https://www.python.org/dev/peps/pep-0263/

Discussions similaires

  1. Rien ne s'affiche dans la console
    Par jacko842 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 06/04/2012, 09h43
  2. Réponses: 2
    Dernier message: 01/11/2007, 10h23
  3. Réponses: 5
    Dernier message: 21/03/2006, 11h43
  4. [Eclipse3.1] Plus rien ne s'affiche dans ma console !
    Par tnodev dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 12/10/2005, 12h05
  5. [c#]Gros text à afficher dans une textbox
    Par famemaur dans le forum ASP.NET
    Réponses: 3
    Dernier message: 04/05/2005, 10h12

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