15.10. getpass --- 可搬性のあるパスワード入力機構

getpass モジュールは二つの関数を提供します:

getpass.getpass([prompt[, stream]])

エコーなしでユーザーにパスワードを入力させるプロンプト。ユーザーは prompt の文字列をプロンプトに使え、デフォルトは 'Password:' です。 Unixではプロンプトはファイルに似たオブジェクト stream へ出力されます。 stream のデフォルトは、制御端末 (/dev/tty) か、それが利用できない場合は sys.stderr です。 (この引数は Windowsでは無視されます。)

もしエコー無しの入力が利用できない場合は、 getpass()stream に警告メッセージを出力し、 sys.stdin から読み込み、 GetPassWarning 警告を発生させます。

バージョン 2.5 で変更: パラメータ stream の追加.

バージョン 2.6 で変更: Unix ではデフォルトで、 sys.stdinsys.stderr へ fallback するまえに /dev/tty を利用します。

注釈

IDLE から getpass を呼び出した場合、入力はIDLEのウィンドウではなく、IDLE を起動したターミナルから行われます。

exception getpass.GetPassWarning

UserWarning のサブクラスで、入力がエコーされてしまった場合に発生します。

getpass.getuser()

ユーザーの "ログイン名"を返します。

この関数は環境変数 LOGNAME USER LNAME USERNAME の順序でチェックして、最初の空ではない文字列が設定された値を返します。もし、なにも設定されていない場合は pwd モジュールが提供するシステム上のパスワードデータベースから返します。それ以外は、例外が上がります。