gpt4 book ai didi

python - 从由分号分隔的键值对文件生成字典

转载 作者:行者123 更新时间:2023-12-01 08:58:19 26 4
gpt4 key购买 nike

我正在从以下格式的文件导入一些数据:

username:password;username1:password1;username2:password2;

我需要将其导入字典并设置key = usernamevalue = password

到目前为止我得到的是:

with open('file.txt') as f:
password_list = dict(x.strip(":").split(";", 1) for x in f)


for user, password in password_list.items():
print(user + " - " + password)

结果显示为用户名:密码 - 用户名1:密码1。所以我需要再次分割它们。有什么建议吗?

最佳答案

您需要对拆分操作进行分层:

s = "username:password;username1:password1;username2:password2"

d = dict(v.split(":") for v in s.split(";"))

print(d)

结果:

{'username2': 'password2', 'username': 'password', 'username1': 'password1'}

对于多行文件,只需再添加一个循环:

d = dict(v.split(":") for s in f for v in s.strip().split(";"))

值得补充的是:

  • 如果密码包含 ;:,则这种格式是短暂的。使用 csv 模块和正确的引用可以解决问题
  • 重复的用户名将被忽略:由于字典键的唯一性,仅考虑最后一个条目。
  • dict(v.split(":") ...) 构造是在没有字典理解的情况下创建字典的旧方法,在这里特别有用,因为 split 返回恰好 2 个值(键/​​值)的列表

关于python - 从由分号分隔的键值对文件生成字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52648352/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com