【问题标题】:Convert str command output to a dictionary将 str 命令输出转换为字典
【发布时间】:2019-12-30 15:02:44
【问题描述】:

我在 str 中得到如下命令的输出:

Group Name: STI              IP: v4          Comment:
Group Items:  2                Type: User-defined
Members: "vm-1" "vm-2"

我希望能够将其转换为字典,以便获得如下键值对:

{"Group Name": "STI", "IP": "v4", "Comment": "", "Group Items": "2", "Type": "User-defined", "Members": '"vm-1" "vm-2"'}

如何达到同样的效果?

当我把它粘贴到这里时,输出被挤压了,所以附上同样的 sn-p:

【问题讨论】:

  • 实际的字符串是什么样的? Group Name: STI IP: v4 Comment: Group Items: 2 ?所以空间分开了?
  • @PyPingu- 看起来和截图一模一样,有相同数量的空格

标签: python-3.x dictionary dictionary-comprehension


【解决方案1】:

如果输出始终具有相同的格式,我猜你最好的办法是像这样解析文本:

>>> text = '''Group Name: STI              IP: v4          Comment:
... Group Items:  2                Type: User-defined
... Members: "vm-1" "vm-2"'''
>>> text = text.split("\n")
>>> {"Group Name": text[0][12:29], "IP": text[0][33:45], "Comment": text[0][54:], "Group Items": text[1][13:30], "Type": text[1][37:], "Members": text[2][9:]}
{'Group Name': 'STI              ', 'IP': 'v4          ', 'Comment': '', 'Group Items': ' 2               ', 'Type': 'User-defined', 'Members': '"vm-1" "vm-2"'}

您将文本分成几行,然后取出您需要的切片。

如果输出可能有不同的格式,那会有点复杂。

【讨论】:

  • @jferad- 感谢您的努力
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-31
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
  • 2020-06-30
  • 2017-08-18
相关资源
最近更新 更多