# 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.stdin` と `sys.stderr` へ fallback するまえに /dev/tty を利用します。

  注釈

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

exception `getpass.``GetPassWarning`

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

`getpass.``getuser`()

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

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