Partage
  • Partager sur Facebook
  • Partager sur Twitter

Input() -> Ne pas afficher la saisie dans le shell

25 octobre 2016 à 23:15:41

Bonsoir, j'ai pas mal cherché sur google en Anglais/Français et lu une dizaine de pages de ce forum, j'ai du mal chercher et si c'est le cas je m'en excuse.

Voici ma question :
Est-il possible de ne pas afficher dans le CMD/Shell l'entrer que l'on fait via "input()".

Explication, par exemple la personne va entrer un chiffre : 12, ce chiffre, forcément va s'afficher tout seul dans la console une fois qu'elle aura  pressé la touche entrer.
Sauf que j'aimerais que quand elle appuie sur Entrer, son chiffre ne s'affiche pas pour que je puisse de mon côté l'afficher de manière "stilisé", par exemple : Votre premier chiffre est le  : 12

Alors qu'en tant normale ça va donner ceci dans le shell :

12
Votre premier chiffre est le  : 12 (La répétition est vraiment moche et dans le cadre d'un chat CMD/Shell, ça rend une discution illisible assez rapidement)

Je vous remercie d'avance pour votre temps :) 

  • Partager sur Facebook
  • Partager sur Twitter
25 octobre 2016 à 23:56:56

Ya peut-être une commande spéciale dans le shell, mais le plus simple c'est d'utiliser la capacité de input à afficher un message:

input("Votre premier chiffre est le: ")


PS: Le chiffre ne s'affiche que si tu tapes cette ligne dans l'interpréteur. Si tu l'as met dans un fichier, python ne t'affichera pas la valeur renvoyée par input {#emotions_dlg.clin}

  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
26 octobre 2016 à 0:02:13


-
-
Voilà, j'ai mis un exemple, donc en fait en dehors d'utiliser un input() avec une phrase à l'intérieur, aucun autre moyen de gérer l'affichage d'une entrée à ce que je comprend de t'a réponse ? :)

-
Edité par Sha0ne 26 octobre 2016 à 1:10:44

  • Partager sur Facebook
  • Partager sur Twitter
26 octobre 2016 à 8:49:05

Avec getpass si ton terminal est compatible. Ou tout autre moyen pour passer en mode non-echo.

  • Partager sur Facebook
  • Partager sur Twitter
26 octobre 2016 à 9:24:26

J'aimerai bien voir le code associé car je n'arrive pas à comprendre le problème. Je ne vois pas d'où proviennent Coucou et Oui ? (ligne 2 et 4)
  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
26 octobre 2016 à 11:36:04

Olygrim a écrit:

J'aimerai bien voir le code associé car je n'arrive pas à comprendre le problème. Je ne vois pas d'où proviennent Coucou et Oui ? (ligne 2 et 4)

ce sont les reponses entre par l'utilisateur



  • Partager sur Facebook
  • Partager sur Twitter
26 octobre 2016 à 11:50:00

scotthamilton a écrit:

ce sont les reponses entre par l'utilisateur

Ok, donc c'est une espèce de tchat en console. Dans ce cas, on pourrait mettre le nom de l'utilisateur dans le input:

pseudo = "<SuperPseudo>"
input("{}: ".format(pseudo))


Et ne distribuer le message qu'à ceux qui n'en sont pas les auteurs. Sinon passer en off le mode echo comme le propose entwanne.

  • Partager sur Facebook
  • Partager sur Twitter
Précepte: Le mieux est l'ennemi du bien
27 octobre 2016 à 9:33:22

Hi!

Bonsoir, j'ai pas mal cherché sur google en Anglais/Français et lu une dizaine de pages de ce forum, j'ai du mal chercher et si c'est le cas je m'en excuse.

Sur google, premier lien: python hide input. Recherche en anglais, t'aura de meilleurs reponses. Stackoverflow est un super site pour en trouver.

Mais bon, vos reponses n'etait (pour moi) pas tres clair, donc voici la mienne:

import getpass

psw = getpass.getpass('Password: ')

print('Your password is', psw) # never do that <img src="/bundles/tinymce/vendor/tiny_mce/plugins/emotions/img/heureux.png" title=":D" alt=":D" />

Matt

  • Partager sur Facebook
  • Partager sur Twitter
GitHub - Chaine youtube | +1 est sympa sur OC & une ★ sur github :D | Australia-QWERTY-no accent