0

我在凭据管理器中有现有的 Windows 凭据,用户名为空白。包裹似乎keyring无法读取这些内容:

import keyring
keyring.set_password("test", "", "mypassword")
keyring.get_password("test", "")  # returns None

使用用户名运行相同的命令可以正常工作。我可以在 Windows 凭据管理器实用程序中查看创建的凭据。在那里。我只是无法通过keyring图书馆阅读它。是否有任何解决方法或者我做错了什么(除了没有用户名的信用)?谢谢

4

1 回答 1

1

我可以“按原样”使用您的代码并仍然检索信息:

>>> import keyring
>>> keyring.set_password("test", "", "mypassword")
>>> keyring.get_password("test", "")
'mypassword'

但是,这不是“检索”凭据的唯一方法。使用该keyring.get_credential方法,我们可以在一个命令中获取用户名和密码:

>>> x = keyring.get_credential(service_name="test", username=None)
>>> x.username
''
>>> x.password
'mypassword'

您必须username在调用中指定 a,但您可以传递None给它,它会获取它匹配的第一个。

于 2020-04-28T15:57:46.557 回答