2011-01-06 8 views

答えて

43

使用getpass

>>> from getpass import getpass 
>>> getpass() 
Password: 
'secret' 
+7

+1の読み方、+1の答え;-) –

+1

私はgetch()のようなキャラクタを使用したいが、クロスプラットフォーム –

+0

@ tm1rbrtのようなキャラクタを使用したい[curses](http://docs.python.org/おそらくあなたの最善の選択肢かもしれません。 –

0

たぶん'console'モジュールは、あなただけの賭けである(それはちょっとUnix用のcursesモジュールの「フォーク」だ)、しかし、私はその中に無効ターミナルエコーに関連したものを見ていません自分でそれを掘り下げようとするかもしれません。

+0

この時点でクロスプラットフォームではありません.Windows 2000でWindowsをサポートするだけです。 – JasonFruit

4

また、別の解決策があります(少なくともUNIXシステムでは、これはWindowsで動作しているかどうかわかりません)。コンソール出力をオフにしてraw_inputを使用するだけです。

os.system("stty -echo") 
password = raw_input('Enter Password:') 
os.system("stty echo") 
print "\n" 
+1

'stty -echo'は' stty echo'が呼び出されるまで持続します。これには、 'raw_input'がpythonを終了させるべきかどうかを決めるために、Pythonセッションの外部での永続化が含まれます。 –

関連する問題