概要
getpassモジュールを使って、パスワードをプロンプトから入力させる方法について記載します。
目的
コンソールアプリでDBのパスワードをプロンプトで入力させたいです。
プロンプトを使う以外に環境変数やファイルから読み込む方法もあります。
しかし、以下のデメリットがあるので、プロンプトで入力するのが手軽だと思っています。
(繰り返し実行する場合はプロンプトは向かないです)
環境変数の場合は、環境変数を定義するときにシェルのコマンド履歴に残らないように注意する必要があります。
ファイルの場合は、他の人が読めないように権限設定に注意する必要があり、アプリの利用者に設定ファイルの変更を説明する必要があります。
コード
from getpass import getpass
if __name__ == '__main__':
password = getpass('Password: ')
print(password)
動作確認
getpass()
を使うとパスワードがエコーバックされません。
![](https://i0.wp.com/techblog.sasashima.works/wp-content/uploads/2021/04/c7466c5709a9d42f50f9c661afb0e2b0.png?ssl=1)
![](https://i0.wp.com/techblog.sasashima.works/wp-content/uploads/2021/04/6d5d2b9e35f3d1e8740f5f14056d5374-1.png?ssl=1)