私は、あなたには、いくつかのユーティリティ機能とそれを包むことができ、は、PyPIからkeyring
パッケージを使用することをお勧め:
SERVICE_NAME = 'confluence_api'
def get_login_cli(username = None, prompt = False):
'''
Get the password for the username out of the keyring. If the password
isn't found in the keyring, ask for it from the command line.
'''
disp_username = False
if username is None or prompt:
username = getpass.getuser()
disp_username = True
passwd = keyring.get_password(SERVICE_NAME, username)
if passwd is None or prompt:
if disp_username:
print 'login: %s' % username
passwd = getpass.getpass()
set_password(username, passwd)
return (username, passwd)
def set_password(username, passwd):
'''
Writes the password to the keyring.
'''
keyring.set_password(SERVICE_NAME, username, passwd)
そして、あなたのランタイムスクリプトはそうのようにそれを呼び出すことができます。
username, passwd = get_login_cli(username, **kwargs)
print("username = %s" % (username))
を
ログイン後、パスワードはキャッシュされ、2度目のプロンプトは表示されません。 keyring
は、資格情報を保存するためにネイティブプラットフォームのキーリングを使用しています。私はN
時間が経過した後に再びメッセージを表示しますが、keyring
のドキュメントを読んで、N
を知る必要があります。