我有一个系统,它从命令行以下列格式返回输出。我试图解析这个并将其转换为python中的dict。分隔符是":"在整个命令中,我只是将文本拆分为" \ n"然后用"进一步拆分:"并且只是将它附加到一个字典,但如果键是唯一的,它可以正常工作但在这里输出代码块重复。所以不确定我应该解析谁并获得dict中的所有值。 这里作业直到长度是重复的代码块。可以在词典或列表中使用词典但不确定如何重复。
for d in res.split("\n"):
r = d.split(':')
if len(r) == 2:
return_dict[r[0].strip()]=r[1].strip()
else:
continue
这里它将覆盖写入作业数据,并且只有最后的值。任何一点都会很有帮助。
第一个名字:约翰 姓:mathew 总计:10 最终费用:7000 时间:2017-09-12 结果:通过 jobs pending : 2
jobs completed : 4
job : 0
ID : 42
name : filter_pre
type : zzsbcfdcd
length : 750
name : gasVacume
type : adfadfadkfj
length : 8567
job : 100
ID : 43
name : filter
type : adfadf
length : 800
job : 100
ID : 15
name : csprt
type : adfa
length : 1000
答案 0 :(得分:0)
如果您想保留重复的密钥,那么您应该创建一个字典列表。使用下面给出的代码更改您的代码。
final_list = []
for d in res.split("\n"):
return_dict = {}
r = d.split(':')
if len(r) == 2:
return_dict[r[0].strip()]=r[1].strip()
final_list.append(return_dict)
else:
continue
print final_list