この記事は…
qiita.com
参加者の少ない, 初老丸 Advent Calendar 2017 11 日目の記事です.
何がしたかったのか
以下のように Python スクリプトを実行して, コマンドラインからパスワードの入力を受け付けたい場合, パスワード文字列は出力させないようにしたい.
$ python script.py Input Your Name: ore Input Yout Password: [ここは画面上に表示させたくない]
どうしたか
モジュールの getpass を使えば一瞬だった.
https://docs.python.jp/3/library/getpass.html
docs.python.jp
以下のように利用する.
#!/usr/bin/env python import getpass print('ユーザー名を入力して下さい.') user = input('username: ') print('パスワードを入力して下さい.') password = getpass.getpass('password: ') print(user) print(password)
実行すると以下のように出力される.
$ python sample.py ユーザー名を入力して下さい. username: foo パスワードを入力して下さい. password: foo bar
実際には password:
欄で bar
を入力しているが, 画面には出力されていない. まさにコレをやりたかった.
以上
メモでした.
標準のモジュールでさくっと実現出来るのって嬉しい限り.