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 fromsys.stdinand issuing aGetPassWarning.注釈
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()¶
ユーザーの "ログイン名"を返します。
この関数は環境変数
LOGNAMEUSERLNAMEUSERNAMEの順序でチェックして、最初の空ではない文字列が設定された値を返します。もし、なにも設定されていない場合はpwdモジュールが提供するシステム上のパスワードデータベースから返します。それ以外の場合は、OSErrorが送出されます。一般に、
os.getlogin()よりもこの関数を使うことを推奨します。バージョン 3.13 で変更: 以前は
OSErrorだけでなく、様々な例外が送出されていました。