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 :

getpass() cumule les saisies, ne remet pas à zéro sa variable de travail


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 24
    Par défaut getpass() cumule les saisies, ne remet pas à zéro sa variable de travail
    dans l'exemple suivant, la variable 'saisie' cumule toutes les saisies effectuées.
    Cela pose problème lors de la vérification d'un password: si je commence par me tromper, j'ai beau fournir le pw correct ensuite, il ne sera pas reconnu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    from getpass import *
     
    saisie = getpass() # donner le password erroné "titi": saisie = "titi"
    print(saisie)
     
    # saisie = "" # insuffisant
    saisie = getpass() # donner le password juste "toto": saisie = "tititoto"
    print(saisie)
    j'ai bien sûr essayé de placer:
    saisie = None
    saisie = ""

    Merci de m'aider à trouver une solution!

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour,

    Curieux, chez moi tout fonctionne comme attendu.

    A titre de curiosité, quelle version de python utilise tu et sous quel os est-tu ?

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 24
    Par défaut
    Merci de ta réponse chticricri,

    j'utilise Python 3.3, sous Windows XP

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 770
    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 770
    Par défaut
    Sous Python3.3 64 bits Windows7, çà "fonctionne":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:57:17) [MSC v.1600 64 bit (AMD64)
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from getpass import getpass
    >>> getpass()
    Password:
    'foo'
    >>> getpass()
    Password:
    'bar'
    >>> exit()
    Sinon pour revenir à:

    dans l'exemple suivant, la variable 'saisie' cumule toutes les saisies effectuées.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    from getpass import *
     
    saisie = getpass() # donner le password erroné "titi": saisie = "titi"
    print(saisie)
     
    # saisie = "" # insuffisant
    saisie = getpass() # donner le password juste "toto": saisie = "tititoto"
    print(saisie)
    j'ai bien sûr essayé de placer:
    saisie = None
    saisie = ""
    getpass est une fonction qui retourne un objet de type str.
    Elle ignore complètement dans quelle variable sera stocké l'objet retourné.
    Inutile de faire saisie = None ou ''.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour,

    Pour ma part j'alterne souvent entre ubuntu et windows xp 32 bit et je n'ai
    jamais constaté ce problème que ce soit sous python 2.5, 2.7 et 3.3 dans les deux OS.

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2010
    Messages : 24
    Par défaut
    Merci à tous deux,

    machine redémarrée au cas où,
    essayé: del <variable>

    toujours le même fonctionnement (en saisissant 'foo' puis 'bar')!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 10:55:48) [MSC v.1600 32 bit (Intel)] on IDF, Standard
    >>> from getpass import *
    >>> getpass()
    Password: 
    'foo'
    getpass()
    Password: 
    'foobar'

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/04/2010, 10h44
  2. Réponses: 3
    Dernier message: 17/08/2009, 06h03
  3. [CR] Les diagrammes n'apparaissent pas !
    Par pvil dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 16/08/2002, 07h53
  4. Réponses: 2
    Dernier message: 22/07/2002, 18h02

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