2012-04-13 17 views
8

chcę użyć:Wprowadź hasło ukryte w Pythonie

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

Na winx64 przy użyciu Pythona 2.7 ... The 2nd linia wisi. Nie widzę okna dialogowego. "Wprowadź swoje hasło:"

+2

Składnia wygląda dobrze, czy sprawdziłeś, czy nie pojawiły się w niej otwarte raporty o błędach? – Rob

+0

Jak działa skrypt? Czy jest to uruchamiane w linii poleceń MS-DOS? – HardlyKnowEm

+2

To nie powoduje wyświetlenia okna dialogowego. Wyświetla się wewnątrz konsoli. –

Odpowiedz

3

Zgodnie z powyższym komentarzem, faktycznie używasz ipython w spyder. Jedynym problemem, z którym spotkałem się w Getpassie w Spyderze, jest strona Google code. Kwestie nie jest dokładnie takie same, ale zawarte w komentarzach jest następujący fragment kodu:

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

Spróbuj użyć metody powyżej (wykorzystując raw_input zamiast getpass), aby uzyskać wymagane hasło, czego potrzebujesz.

+0

nie działa, wszystko, czego chcę, to hasło wprowadzone bez echa. Nie chcę pobierania hasła ... "zestaw" nie działa. – Merlin

+0

@merlin Czy możesz wyjaśnić, dlaczego powyższy kod nie działa i nie jest wyświetlany? Możesz użyć powyższej funkcji, gdy zażądasz hasła w swoim kodzie. 'userpassword = spyder_getpass()', itp. Nie wywołuj własnego 'input' ani nic podobnego do' getpass'. – PenguinCoder

+0

używając powyższego, a następnie wywołując go za pomocą spyder_getpass(), pojawia się błąd ... Traceback (ostatnie ostatnie połączenie): Plik "C: \ Python27 \ Scripts \ untitled6.py", wiersz 14, w spyder_getpass () Plik "C: \ Python27 \ Scripts \ untitled6.py", wiersz 9, w spyder_getpass set_spyder_echo (False) NameError: nazwa globalna 'set_spyder_echo' nie jest zdefiniowana – Merlin

2

Jak już wskazano w innych komentarzach, musisz uruchomić ten skrypt w Power Shell, aby zobaczyć tekst "Enter your password:" i móc wprowadzić hasło.