我有一个由用户名和密码组成的文本文件,用逗号分隔,我需要将其转换为如下字典:
userData = [{'username': 'something@test.com', 'password': 'test123'},
{'username': 'somethingelse@test.com', 'password': 'test1234'},
{'username': 'somethingmore@test.com', 'password': 'test123'},
]
该文件如下所示:
something@test.com,test123
somethingelse@test.com,test1234
somethingmore@test.com,test123
我尝试了以下操作,但它只返回文本文件的最后一行,因此我假设每行都会覆盖字典。
file = open('username.txt', 'r')
userData = {}
userData['username'] = ''
userData['password'] = ''
for line in file:
x = line.split(',')
un = x[0]
pw = x[1]
userData['username']=un
userData['password']=pw
我该怎么做才能获得正确的输出?
最佳答案
您想要一个字典列表,但您只创建一个每次在 for 循环中都会修改的字典。您必须为每一行创建另一个字典并将其存储在列表中。
试试这个:
file = open('username.txt', 'r')
userDataList = []
for line in file:
x = line.split(',')
userData = {}
userData['username'] = x[0]
userData['password'] = x[1]
userDataList.append(userData)
关于python - 如何从给定的 txt 文件创建字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41863511/