如何使用Python keyring检索用户名?

2024-06-16 12:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我的Windows7机器上有一个Mercurial钥匙圈。我使用Python^{}库从Mercurial keyring获取用户凭据。在

我可以检索给定用户名的密码:

keyring.get_password('Mercurial', 'user@@etc')

有没有类似的函数来检索用户名?在


Tags: 函数用户机器密码getetcpasswordmercurial
3条回答

您应该将用户名存储在其他地方。在

keyring只存储由应用程序名称和用户名键入的密码。在

虽然keyring仅用于存储密码,但您可以滥用get_password单独存储用户名。在

import keyring

# store username & password
keyring.set_password("name_of_app", "username", "user123")
keyring.set_password("name_of_app", "password", "pass123")

# retrieve username & password
username = keyring.get_password("name_of_app", "username")
password = keyring.get_password("name_of_app", "password")

或者,如果希望用户名与密码保持配对:

^{pr2}$

此解决方案归功于Dustin Wyatt&;Alex Chan。在

在Windows上,我可以使用

c = keyring.get_credential("servicename", None)

请注意,这在macOS上不起作用,keyring后端没有搜索条目的功能,也就是说,您需要知道用户名。不过,我想本机代码允许您这样做,请参见official docs

相关问题 更多 >