我有一个包含用户列表的.txt文件,如下所示:
ID - NAME(S) - LAST NAME(S) - LOGIN - PASSWORD
0001 - Juan Carlos - Botero Mora - jcboterom - snf23jn4
.
.
所以,我需要创建一个这样的字典:
{'0001': ['Juan Carlos', 'Botero Mora', 'jcboterom', 'snf23jn4']}
代码是
def dict():
with open('admins.txt', 'r') as document:
answer = {}
for line in document:
if line.strip():
key, value = line.split(None, 1)
answer[key] = value.split()
return answer
但我得到的是:
{'0001': ['-', 'Juan', 'Carlos', '-', 'Botero', 'Mora', '-', 'jcboterom', '-', 'snf23jn4']
怎么了?你知道吗
问题是您在所有的空白处分割字符串,这就是
str.split()
所做的。相反,您应该在'-'
处拆分它们,然后从结果中去掉空白。你知道吗代码-
演示-
您所需要的只是用分隔符
-
而不是空格再次拆分value
。你知道吗从python docs
split()
可以与模式匹配。在这里您可以使用' - '
相关问题 更多 >
编程相关推荐