我假设您有一个布局如下的文本文件:
username1 password1
username2 password2
...
根据我从您的问题中收集的信息,您希望解析此文件并将结果存储在字典中(即用户名键映射到密码值)。这类东西更适合存储在数据库中(例如 SQLite 是 Python 内置的),因此您绝对应该学习了解数据库,而不是使用纯文本文件来存储数据,尤其是用户帐户。
此外,您应该考虑如何使用散列等技术存储密码等敏感信息,但是当您想要进行下一步时,您可以考虑这一点(我假设这是一个小型学习项目,所以数据库和散列等概念可能超出了您当前的范围,但它们绝对值得学习)。
至于您的问题,您可以考虑执行以下操作:
accounts = dict()
with open('users.txt') as f:
for account in f:
(usr, pwd) = account.strip().split()
accounts[usr] = pwd
print(accounts)
我认为代码清晰比将所有内容集中在一行更重要!我展示的代码并不详尽,更像是一个指南。正如我之前所说,我不建议你走这条路,所以一定要研究数据库和正确的密码存储技术!
同时,为了确保某种形式的安全性,您可以做的是将密码存储为散列(即 pwd 将是散列)。然后当用户将密码传递给系统时,您可以计算哈希并检查哈希是否相等。这比处理纯文本密码要好。Python 有一个内置的哈希模块,称为 hashlib。我不是散列方面的专家,但这将是一个不错的起点。