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

**ソースコード:** Lib/getpass.py

======================================================================

利用可能な環境: not WASI.

このモジュールは WebAssembly では動作しないか、利用不可です。詳しくは
、WebAssembly プラットフォーム を見てください。

"getpass" モジュールは 2 つの関数を提供します。

getpass.getpass(prompt='Password: ', stream=None, *, echo_char=None)

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

   *echo_char* 引数は、入力中の文字をどのように表示するかを制御します
   。 *echo_char* が "None" (デフォルト) の場合、入力は表示されません
   。 それ以外の場合、*echo_char* は表示可能な ASCII 文字 1 文字でなけ
   ればならず、入力した各文字はその文字で置き換えられます。 例えば
   "echo_char='*'" を指定すると、実際の入力の代わりにアスタリスクを表
   示します。

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

   注釈:

     IDLE 内から "getpass()" を呼び出すと、IDLE のウィンドウではなく、
     IDLE を起動したターミナルで入力することになる場合があります。

   注釈:

     Unix システムで *echo_char* を設定すると、端末は *非カノニカルモ
     ード* で動作するよう設定されます。 一般的な端末制御文字がサポート
     されます。

     * "Ctrl"+"A" - カーソルを行頭に移動

     * "Ctrl"+"E" - カーソルを行末に移動

     * "Ctrl"+"K" - カーソルから行末までを削除

     * "Ctrl"+"U" - 行全体を削除

     * "Ctrl"+"W" - 直前の単語を削除

     * "Ctrl"+"V" - 次の文字をそのまま挿入 (クォート)

     * "Backspace"/"DEL" - カーソルの直前の文字を削除

     これらのショートカットは、termios の設定から端末の制御文字の割り
     当てを読み取って動作します。

   バージョン 3.14 で変更: キーボード入力に視覚的なフィードバックを与
   える *echo_char* 引数が追加されました。

   バージョン 3.15 で変更: Unix で空でない *echo_char* を使うとき、端
   末の制御文字の設定に従ってキーボードショートカット (カーソルの移動
   や行の編集を含む) を適切に処理するようになりました。

exception getpass.GetPassWarning

   パスワードの入力内容がエコーされる可能性がある場合に発行される、
   "UserWarning" のサブクラスです。

getpass.getuser()

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

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

   一般に、"os.getlogin()" よりもこの関数を使うことを推奨します。

   バージョン 3.13 で変更: 以前は "OSError" だけでなく、様々な例外が送
   出されていました。
