2012-04-13 1 views
8

ich verwenden möchte:versteckte Passwort eingeben in Python

import getpass 
password = getpass.getpass("Enter your password:") 
print password 

Auf winx64 Python 2.7 ... Die zweite Linie hängt. Ich sehe den Dialog nicht. "Geben Sie Ihr Passwort ein:"

+2

Syntax sieht gut aus, haben Sie nach offenen Bug-Berichten gefragt? – Rob

+0

Wie läuft das Skript? Wird dies in der MS-DOS-Befehlszeile ausgeführt? – HardlyKnowEm

+2

Dies öffnet keinen Dialog. Es fordert in der Konsole auf. –

Antwort

3

Laut Ihrem Kommentar oben verwenden Sie eigentlich ipython in Spyder. Das einzige Problem, auf das ich bei Spyder gestoßen bin, ist ihre Google code Seite. Die Fragen ist nicht genau das gleiche wie Sie, aber in den Kommentaren enthalten ist der folgende Code-Schnipsel:

def spyder_getpass(prompt='Password: '): 
    set_spyder_echo(False) 
    password = raw_input(prompt) 
    set_spyder_echo(True) 
    return password 

oben unter Verwendung des Verfahrens Versuchen (unter Verwendung raw_input statt getpass) das erforderliche Passwort, das Sie benötigen.

+0

funktioniert nicht, alles, was ich will, ist Passwort eingegeben nicht wiedergegeben. Ich möchte nicht Passwort abholen .. die 'set _' s hat nicht funktioniert. – Merlin

+0

@merlin Können Sie erklären, warum der obige Code nicht funktioniert, um eingegeben und nicht wiederholt zu werden? Sie würden die obige Funktion verwenden, wenn Sie das Passwort in Ihrem Code anfordern. 'userpassword = spyder_getpass()', etc. Nennen Sie nicht Ihre eigene 'Eingabe' oder irgendetwas, was mit' getpass' zu tun hat. – PenguinCoder

+0

mit oben, und dann mit spyder_getpass() aufrufen, i Fehler bekommen ... Traceback (jüngste Aufforderung zuletzt): Datei "C: \ Python27 \ Scripts \ untitled6.py", Zeile 14, in spyder_getpass () Datei "C: \ Python27 \ Scripts \ untitled6.py", Zeile 9, in spyder_getpass set_spyder_echo (false) Nameerror: global namen 'set_spyder_echo' definiert ist, nicht den Boden der verknüpften code.google.com Post – Merlin

2

Wie die anderen Kommentare bereits angezeigt haben, müssen Sie dieses Skript innerhalb der Power Shell ausführen, um den "Enter your password:" Text tatsächlich zu sehen und ein Passwort eingeben zu können.