[python] stdinからパスワードを読む


0 Answers

はい、 getpass : "ユーザーにエコーを行わずにパスワードを要求します。"

編集:私はまだ自分自身でこのモジュールで遊んでいなかったので、これは私がちょうど覚えたものです(ただし、あなたが似たようなコードを全部見つけても驚かないでしょう):

import getpass

def login():
    user = input("Username [%s]: " % getpass.getuser())
    if not user:
        user = getpass.getuser()

    pprompt = lambda: (getpass.getpass(), getpass.getpass('Retype password: '))

    p1, p2 = pprompt()
    while p1 != p2:
        print('Passwords do not match. Try again')
        p1, p2 = pprompt()

    return user, p1

(これはPython 3.xです; Python 2.xを使用している場合は、 inputではなくraw_inputを使用してraw_input )。

Question

シナリオ:インタラクティブなCLI Pythonプログラムで、パスワードが必要です。 つまり、GUIソリューションはありません。

bashでは、パスワードをスクリーンに再入力せずに読み込むことができます

read -s

Pythonに似たものがありますか? つまり、

password = raw_input('Password: ', dont_print_statement_back_to_screen)

代わりの方法:タイプされた文字を '*'で置き換えてから画面に戻します(別名ブラウザのスタイル)。




Related