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='*' を指定すると、実際の入力の代わりにアスタリスクを表示します。

If echo-free input is unavailable, getpass() falls back to printing a warning message to stream and reading from sys.stdin and issuing a GetPassWarning.

注釈

If you call getpass() from within IDLE, the input may be done in the terminal you launched IDLE from rather than the idle window itself.

注釈

On Unix systems, when echo_char is set, the terminal will be configured to operate in noncanonical mode. In particular, this means that line editing shortcuts such as Ctrl+U will not work and may insert unexpected characters into the input.

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

exception getpass.GetPassWarning

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

getpass.getuser()

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

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

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

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